停止服务:
停止GitLab相关服务(如unicorn、sidekiq),确保备份安全:
sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq
创建备份:
使用命令生成备份文件,默认存放在/var/opt/gitlab/backups
:
sudo gitlab-rake gitlab:backup:create
配置备份路径(可选):
修改/etc/gitlab/gitlab.rb
,设置backup_path
和过期时间(如7天),然后重载配置:
sudo vim /etc/gitlab/gitlab.rb gitlab_rails['backup_path'] = "/data/gitlab/backups" gitlab_rails['backup_keep_time'] = 604800 sudo gitlab-ctl reconfigure
定时备份(可选):
通过crontab
设置定时任务,例如每天凌晨2点备份并删除10天前的旧文件:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create 0 3 * * * find /var/opt/gitlab/backups -name "*.tar" -mtime +10 -exec rm -rf {} \;
停止服务:
恢复前停止GitLab服务:
sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq
恢复备份:
执行恢复命令,BACKUP
替换为实际备份编号(从文件名获取):
sudo gitlab-rake gitlab:backup:restore BACKUP=备份编号
启动服务:
恢复完成后重启GitLab:
sudo gitlab-ctl start
验证恢复:
通过Web界面检查项目、用户等数据是否完整。
gitlab.rb
等敏感文件。