使用GitLab内置工具
sudo gitlab-rake gitlab:backup:create 备份仓库、数据库等数据,默认存储在 /var/opt/gitlab/backups/ 目录。rsync 或 tar)并通过 crontab 设置定时任务,例如每天凌晨执行备份。/etc/gitlab/gitlab.rb 中配置 gitlab_rails['backup_path'] 参数,需重启服务生效。手动备份关键文件
/etc/gitlab/gitlab.rb、/etc/gitlab/gitlab-secrets.json)和SSL证书,确保恢复时配置一致。远程备份
scp 或 rsync 将备份文件传输至远程服务器或云存储,例如:rsync -avz /var/opt/gitlab/backups/ user@remote-server:/backup/path/。恢复整个GitLab系统
sudo gitlab-ctl stop unicorn 和 sudo gitlab-ctl stop sidekiq。/var/opt/gitlab/backups/ 目录,执行命令:sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名(需指定完整文件名,如 165905.tar)。sudo gitlab-ctl reconfigure 和 sudo gitlab-ctl start,验证数据完整性。恢复删除的项目
恢复单个文件或目录
rsync 或 cp 从备份文件中提取指定文件/目录,例如:rsync -avz /backup/path/to/file /var/opt/gitlab/path/。参考来源: