在 GitLab 中,备份和恢复是运维中非常关键的部分,尤其是数据的安全与一致性。以下是具体操作指南。
GitLab 提供了内置的备份工具,通过 gitlab-backup 命令生成备份文件。
确保以下几点:
/var/opt/gitlab/backups)。运行备份命令:
sudo gitlab-backup create1672232546_2023_01_01_15.0.0_gitlab_backup.tar。修改备份路径(可选):在 gitlab.rb 配置文件中指定备份路径:
sudo vi /etc/gitlab/gitlab.rb添加或修改以下配置:
gitlab_rails['backup_path'] = '/your/backup/path'保存后,重新加载配置:
sudo gitlab-ctl reconfigure设置自动备份(可选):使用 Cron 定期备份,例如每天凌晨 3 点:
0 3 * * * /opt/gitlab/bin/gitlab-backup create CRON=1备份配置文件(手动):备份 gitlab.rb 和 SSL 证书:
sudo cp /etc/gitlab/gitlab.rb /your/backup/path
sudo cp -r /etc/gitlab/ssl /your/backup/path恢复操作会覆盖现有数据,需谨慎操作。
为保证一致性,先停止服务:
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq(其他服务无需停止。)
将备份文件移动到备份目录:
sudo cp /your/backup/path/<备份文件>.tar /var/opt/gitlab/backups/运行恢复命令:
sudo gitlab-backup restore BACKUP=<备份文件前缀><备份文件前缀> 为文件名的时间戳部分,例如 1672232546。yes 确认。恢复配置文件和 SSL:
sudo cp /your/backup/path/gitlab.rb /etc/gitlab/gitlab.rb
sudo cp -r /your/backup/path/ssl /etc/gitlab/恢复完成后,启动服务:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start