旧服务器进行数据备份

进入维护模式(强烈推荐,防止数据变化)

gitlab-ctl stop puma
gitlab-ctl stop sidekiq

gitlab-backup create(官方备份命令)
确认备份是否成功
ls -lh /var/opt/gitlab/backups/

必须额外备份的 2 个关键文件(非常重要)
cp /etc/gitlab/gitlab-secrets.json /root/gitlab-secrets.json.backup(备份密钥文件)
cp /etc/gitlab/gitlab.rb /root/gitlab.rb.backup(GitLab 主配置文件)

新服务器(安装与旧服务器对应的版本!!!)

# 停止应用核心服务
gitlab-ctl stop puma       # Web 服务
gitlab-ctl stop sidekiq    # 后台任务队列
gitlab-ctl stop unicorn    # 如果存在旧版本 Unicorn

# 停止 GitLab 其他可能影响数据库的服务
gitlab-ctl stop gitlab-workhorse
gitlab-ctl stop gitaly
gitlab-ctl stop postgresql

拷贝 GitLab 数据备份 .tar
scp /var/opt/gitlab/backups/*.tar root@192.168.109.177:/var/opt/gitlab/backups/
拷贝 secrets 文件
scp /root/gitlab-secrets.json.backup root@192.168.109.177:/root/
(可选)拷贝 gitlab.rb 配置文件
scp /root/gitlab.rb.backup root@192.168.109.177:/root/

覆盖旧密钥文件(非常关键)
cp /root/gitlab-secrets.json.backup /etc/gitlab/gitlab-secrets.json
chmod 600 /etc/gitlab/gitlab-secrets.json
chown root:root /etc/gitlab/gitlab-secrets.json

停止核心服务
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
gitlab-ctl stop unicorn        # 如果存在旧版本 Unicorn
gitlab-ctl stop gitlab-workhorse
gitlab-ctl stop gitaly
gitlab-ctl stop postgresql

# 执行备份恢复
gitlab-backup restore BACKUP=1765571500_2025_12_12_17.1.1

restore 完成后重新启动所有服务
gitlab-ctl reconfigure
gitlab-ctl start
gitlab-ctl status

至此迁移完成,打开浏览器访问 http://新服务器IP

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐