centos

GitLab 在 CentOS 上如何备份

小樊
41
2025-04-28 19:18:14
栏目: 智能运维

在 CentOS 上备份 GitLab 的过程包括备份 GitLab 的数据目录和数据库。以下是一个简单的步骤来备份 GitLab:

  1. 首先,确保你有 root 权限或者可以执行 sudo 命令。

  2. 安装 rsync 软件包(如果尚未安装):

sudo yum install rsync
  1. 停止 GitLab 服务:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
  1. 创建一个备份目录,并将 GitLab 数据目录(通常位于 /var/opt/gitlab)同步到备份目录:
sudo mkdir /backup/gitlab
sudo rsync -a --delete /var/opt/gitlab/ /backup/gitlab/
  1. 备份 GitLab 数据库。首先,找到数据库的名称、用户和密码。这些信息通常位于 /etc/gitlab/gitlab.rb 文件中。使用以下命令编辑此文件:
sudo nano /etc/gitlab/gitlab.rb

在文件中找到以下行:

git_data_dirs({ "default" => { "path" => "/var/opt/gitlab/git-data" } })

记下数据目录的路径(例如 /var/opt/gitlab/git-data),然后找到数据库配置部分:

gitlab_rails['gitlab_shell_ssh_port'] = 22
postgresql['listen_addresses'] = "localhost"
postgresql['port'] = 5432
postgresql['username'] = "gitlab-psql"
postgresql['password'] = "YOUR_POSTGRESQL_PASSWORD"
postgresql['database'] = "gitlabhq_production"

记下数据库名称、用户名和密码。现在,使用 pg_dump 命令备份数据库:

sudo -u postgres pg_dump -Fc --role=gitlab-psql --password=YOUR_POSTGRESQL_PASSWORD gitlabhq_production > /backup/gitlab/db_backup.dump
  1. 将备份文件压缩为一个 tar 文件:
sudo tar -czvf /backup/gitlab/backup.tar.gz /backup/gitlab/
  1. (可选)删除旧的备份文件。例如,保留最近 7 天的备份:
sudo find /backup/gitlab/ -type f -name "*.tar.gz" -mtime +7 -exec rm {} \;
  1. 重新启动 GitLab 服务:
sudo gitlab-ctl start

现在,你已经成功备份了 GitLab。备份文件位于 /backup/gitlab/backup.tar.gz。请确保将此文件存储在安全的位置,并定期执行备份操作。

0
看了该问题的人还看了