gitlab 备份 版本查看GitLab Community Edition 13.0.0
gitlab-backup create 的备份和恢复方法: 备份 登录服务器 :使用 SSH 登录到 GitLab 服务器。 创建备份 :直接执行sudo gitlab-backup create命令,会在默认备份目录 /var/opt/gitlab/backups 下生成一个备份文件,文件名类似于 1672232546_2023_01_01_15.0.0_gitlab_backup.tar,其中包含 Git 仓库、数据库、上传文件、CI/CD 相关数据等。 设置备份参数(可选) : 修改备份路径 :在 /etc/gitlab/gitlab.rb 配置文件中添加或修改 gitlab_rails['backup_path'] 参数,指定新的备份存储路径,然后运行 sudo gitlab-ctl reconfigure 使配置生效。 设置自动备份 :可通过 crontab 设置定时备份任务,例如每天凌晨 3 点执行备份,可在 crontab 中添加 0 3 * * * /opt/gitlab/bin/gitlab-backup create CRON=1。 选择性备份 :可通过设置 SKIP 参数跳过一些对象的备份,如跳过备份数据库的命令为 sudo gitlab-backup create SKIP=db,可跳过的对象有 db、uploads、artifacts、lfs、terraform_state、registry、pages、repositories、packages 等。 使用 STRATEGY=copy 参数 :若数据变化过快,备份报错,可添加该参数进行备份,命令示例:sudo gitlab-backup create STRATEGY=copy。 非 tar 备份 :若不想在备份完成后创建 tar 文件,可使用 SKIP=tar 参数,命令示例:sudo gitlab-backup create SKIP=tar。 恢复 停止服务 :为保证一致性,先停止 GitLab 的 Puma 和 Sidekiq 服务,执行命令:sudo gitlab-ctl stop puma和sudo gitlab-ctl stop sidekiq。 将备份文件移动到备份目录 :如果备份文件不在默认备份目录 /var/opt/gitlab/backups 下,需将其移动到该目录,例如sudo cp /your/backup/path/<备份文件>.tar /var/opt/gitlab/backups/。 执行恢复命令 :运行sudo gitlab-backup restore BACKUP=<备份文件前缀>,其中 <备份文件前缀> 为备份文件名的时间戳部分,例如 1672232546。恢复时会提示确认覆盖现有数据,输入 yes 确认。 恢复配置文件和 SSL :如果备份时手动备份了 gitlab.rb 和 SSL 证书,需将其恢复到相应目录。 启动服务 :恢复完成后,启动 GitLab 服务,执行命令:sudo gitlab-ctl reconfigure和sudo gitlab-ctl start。 验证恢复 :检查 GitLab Web 界面是否正常访问,验证数据完整性,如仓库、用户数据、配置等。 注意事项 版本匹配 :恢复备份的 GitLab 版本必须与备份时一致,或者比备份时更新。 备份文件安全性 :备份文件可能包含敏感信息,请妥善保管。 定期测试恢复流程 :定期进行备份恢复测试,确保备份文件可用,避免灾难时措手不及。