Ubuntu系统GitLab备份恢复方法
一、GitLab备份方法
1. 准备工作
备份前需停止GitLab核心服务,确保数据一致性:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
2. 手动执行完整备份
使用gitlab-rake命令备份仓库、数据库、用户及配置等信息,备份文件默认存储在/var/opt/gitlab/backups目录:
sudo gitlab-rake gitlab:backup:create
若需立即执行(而非等待定时任务),可添加CRON=1参数:
sudo gitlab-rake gitlab:backup:create CRON=1
3. 配置备份路径与保留时间
修改/etc/gitlab/gitlab.rb配置文件,自定义备份存储路径(如/data/backups/gitlab)和保留时长(如7天):
sudo vim /etc/gitlab/gitlab.rb
添加/修改以下内容:
gitlab_rails['backup_path'] = "/data/backups/gitlab"
gitlab_rails['backup_keep_time'] = 604800 # 单位:秒(7天)
保存后重新加载配置并重启GitLab:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
4. 设置定时自动备份
通过crontab设置每日凌晨2点自动执行备份任务:
sudo crontab -e
添加以下行:
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create
5. 可选:增量备份(节省空间)
使用rsync同步备份目录到远程服务器或本地其他磁盘,排除临时文件:
sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /var/opt/gitlab/ /path/to/remote/backup/
二、GitLab恢复方法
1. 准备工作
恢复前需停止GitLab相关服务,避免数据冲突:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq
2. 恢复完整备份
将备份文件(如gitlab_backup_1679122231_2024_06_41_13.9.7.tar)复制到备份目录(如/var/opt/gitlab/backups),并赋予可执行权限:
sudo cp /path/to/backup/file.tar /var/opt/gitlab/backups/
sudo chmod 777 /var/opt/gitlab/backups/file.tar
执行恢复命令,指定备份文件名(无需.tar扩展名):
sudo gitlab-rake gitlab:backup:restore BACKUP=1679122231_2024_06_41_13.9.7
3. 恢复配置与证书(若有单独备份)
若之前备份了配置文件(/etc/gitlab/gitlab.rb)和SSL证书(/etc/gitlab/ssl),需复制回原目录:
sudo cp /path/to/backup/gitlab.rb /etc/gitlab/gitlab.rb
sudo cp -r /path/to/backup/ssl /etc/gitlab/
4. 重启GitLab服务
恢复完成后,重新启动GitLab服务:
sudo gitlab-ctl start
5. 验证恢复结果
通过GitLab Web界面登录,检查仓库、用户、权限等数据是否完整,确保实例正常运行。
三、注意事项
- 版本一致性:恢复时GitLab版本需与备份时的版本一致,否则会提示版本不匹配错误。
- 备份安全性:备份文件包含敏感信息(如用户密码、SSH密钥),需存储在加密或受保护的存储介质中(如远程服务器、云存储)。
- 定期测试恢复:每季度至少测试一次恢复流程,确保备份文件可用,避免灾难发生时无法恢复数据。
- 自动备份监控:通过邮件或日志监控定时备份任务的执行状态,及时处理失败情况。
以上就是关于“ubuntu上gitlab备份恢复方法”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm