You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitLab免费版跨地域双服务器备份实现方案咨询

GitLab免费版异地双服务器备份方案

一、主服务器基础备份配置

GitLab免费版自带原生备份工具,先在主服务器完成自动备份的基础设置:

  1. 调整备份存储与保留规则
    编辑GitLab配置文件/etc/gitlab/gitlab.rb,自定义备份路径和保留时长:

    gitlab_rails['backup_path'] = '/data/gitlab/backups'  # 替换为你的存储路径
    gitlab_rails['backup_keep_time'] = 86400  # 保留1天备份,单位秒,按需调整
    

    执行gitlab-ctl reconfigure让配置生效。

  2. 定时自动生成备份
    用crontab -e添加定时任务,比如每天凌晨2点执行备份:

    0 2 * * * /usr/bin/gitlab-backup create CRON=1
    

    注:CRON=1会关闭备份完成的邮件通知,不需要的话可删除该参数。

  3. 备份核心配置文件
    数据备份之外,必须同步备份GitLab的配置文件,避免恢复时缺失关键设置:

    tar -czf /data/gitlab/backups/gitlab_config_$(date +%Y%m%d).tar.gz /etc/gitlab/
    

    同样可以把这条命令加入crontab,和数据备份同步执行。

二、同步备份到两台异地服务器

推荐用rsync做增量同步,比scp效率更高,适合跨地域传输:

前置准备:SSH免密登录

在主服务器生成密钥对,将公钥同步到两台异地服务器,避免同步时输入密码:

# 主服务器生成密钥(一路回车即可)
ssh-keygen -t ed25519
# 复制公钥到异地服务器1
ssh-copy-id user@remote-server1-ip
# 复制公钥到异地服务器2
ssh-copy-id user@remote-server2-ip

定时同步任务

在主服务器的crontab中添加同步任务,比如备份完成后1小时(凌晨3点)同步:

# 同步到异地服务器1
0 3 * * * rsync -avz --delete /data/gitlab/backups/ user@remote-server1-ip:/backup/gitlab/
# 同步到异地服务器2
0 3 * * * rsync -avz --delete /data/gitlab/backups/ user@remote-server2-ip:/backup/gitlab/

注:--delete会让异地服务器的备份目录和主服务器保持一致,自动删除过期备份,不需要的话可去掉该参数。

三、异地服务器恢复前置准备

要确保两台异地服务器能随时接管,提前做好以下准备:

  1. 安装同版本GitLab:异地服务器必须安装和主服务器完全相同版本的GitLab免费版,版本不匹配会导致恢复失败。
  2. 预配置恢复环境:
    当需要恢复时,先停止相关服务:
    gitlab-ctl stop puma
    gitlab-ctl stop sidekiq
    
    解压备份的配置文件到/etc/gitlab/,执行gitlab-ctl reconfigure生效。
  3. 执行数据恢复:
    将备份包(比如1701234567_2023_11_29_16.8.0_gitlab_backup.tar)放到异地服务器的GitLab备份目录,执行恢复命令:
    gitlab-backup restore BACKUP=1701234567_2023_11_29_16.8.0
    
    恢复完成后启动服务:gitlab-ctl start,并验证仓库、用户等数据完整性。

四、优化建议

  • 定期验证备份:每月在其中一台异地服务器做一次完整恢复测试,避免备份失效却未察觉。
  • 断点续传适配:如果跨地域网络不稳定,给rsync加--partial参数支持断点续传,或者设置crontab多次尝试同步。
  • 备份加密:如果备份包含敏感数据,可在主服务器用gpg加密备份包后再同步,异地服务器解密后恢复。

内容的提问来源于stack exchange,提问作者Chinnu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:10:31