在CentOS系统下对GitLab进行备份与恢复,可以通过以下步骤实现:
手动备份
gitlab-rake gitlab:backup:create
命令进行手动全量备份。备份文件默认保存在 /var/opt/gitlab/backups
目录下。自动备份
crontab
设置定时任务,实现自动备份。例如,每天凌晨2点执行备份:0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
/etc/gitlab/gitlab.rb
文件中配置备份路径和权限:gitlab_rails['backup_path'] = "/mnt/backups"
gitlab_rails['backup_archive_permissions'] = 0644
gitlab_rails['backup_keep_time'] = 604800 # 7天
修改配置后,使用以下命令重新加载配置并重启GitLab服务:sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
准备工作
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
恢复数据库
tar -xzf gitlab_backup.tar.gz
sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名
恢复仓库文件
cp -r repositories/* /var/opt/gitlab/git-data/repositories/
启动GitLab服务
sudo gitlab-ctl start
gitlab.rb
和 gitlab-secrets.json
配置文件,这些需要手动备份。通过上述步骤,可以在CentOS上为GitLab设置有效的备份和恢复策略,确保数据安全和业务连续性。