debian

Debian系统中GitLab的备份与恢复

小樊
50
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界面检查项目、用户等数据是否完整。

注意事项

0
看了该问题的人还看了