一、手动备份
- 安装依赖(若未安装):
sudo yum install -y curl policycoreutils-python openssh-server postfix - 配置备份路径(可选):
编辑/etc/gitlab/gitlab.rb,设置:gitlab_rails['backup_path'] = "/your/backup/path" # 默认为/var/opt/gitlab/backups gitlab_rails['backup_keep_time'] = 604800 # 保留时间(秒),如7天执行
sudo gitlab-ctl reconfigure使配置生效。 - 执行备份:
sudo gitlab-rake gitlab:backup:create备份文件默认存放在
/var/opt/gitlab/backups,文件名格式为TIMESTAMP_gitlab_backup.tar。
二、定时备份
使用 crontab 设置定时任务,例如每天凌晨2点备份:
crontab -e
添加以下内容:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
三、恢复备份
- 停止服务:
sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq - 恢复备份:
将备份文件拷贝到备份目录(若不在默认路径),然后执行:sudo gitlab-rake gitlab:backup:restore BACKUP=备份编号输入
yes确认覆盖。 - 启动服务:
sudo gitlab-ctl start
四、注意事项
- 版本匹配:恢复时GitLab版本需与备份时一致或更高。
- 备份文件安全:备份文件包含敏感信息,需妥善保管。
- 定期测试:定期验证备份文件可用性,确保恢复流程正常。
参考来源: