温馨提示×

Debian系统中GitLab的备份与恢复

小樊
48
2025-09-11 12:19:38
栏目: 智能运维

备份步骤

  1. 停止服务
    停止GitLab相关服务(如unicorn、sidekiq),确保备份安全:

    sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq 
  2. 创建备份
    使用命令生成备份文件,默认存放在/var/opt/gitlab/backups

    sudo gitlab-rake gitlab:backup:create 
  3. 配置备份路径(可选)
    修改/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 
  4. 定时备份(可选)
    通过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 {} \; 

恢复步骤

  1. 停止服务
    恢复前停止GitLab服务:

    sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq 
  2. 恢复备份
    执行恢复命令,BACKUP替换为实际备份编号(从文件名获取):

    sudo gitlab-rake gitlab:backup:restore BACKUP=备份编号 
  3. 启动服务
    恢复完成后重启GitLab:

    sudo gitlab-ctl start 
  4. 验证恢复
    通过Web界面检查项目、用户等数据是否完整。

注意事项

  • 版本一致性:确保新旧服务器GitLab版本一致,避免恢复失败。
  • 敏感数据:备份文件包含配置信息,需妥善保管,恢复时手动处理gitlab.rb等敏感文件。
  • 测试恢复:定期测试备份文件的可恢复性,确保流程有效。

0