1. 闲不住的人首页
  2. 其它服务

GitLab备份与恢复

1. GitLab 备份

使用 GitLab 一键安装包安装 GitLab 非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的 GitLab 备份:

root@gitlab-opsbj:~ # gitlab-rake gitlab:backup:create

使用以上命令会在 /var/opt/gitlab/backups 目录下创建一个名称类似为1554948330_2019_04_11_11.9.6_gitlab_backup.tar 的压缩包, 这个压缩包就是 GitLab 整个的完整备份, 其中开头的 1554948330 是备份创建的日期。

备份成功如下图:

GitLab备份
GitLab备份

2. 修改 GitLab 备份目录位置

你也可以通过修改 /etc/gitlab/gitlab.rb 来修改默认存放备份文件的目录:

root@gitlab-opsbj:~ # vim /etc/gitlab/gitlab.rb
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/data/backup/gitlab/"
:wq 保存退出

root@gitlab-opsbj:~ # gitlab-ctl reconfigure

/data/backup/gitlab/ 是我修改后的备份目录,修改为你想存放备份的目录即可, 修改完成之后使用 gitlab-ctl reconfigure 命令重载配置文件即可。

3. GitLab 定时备份

通过 crontab 定义任务实现每天凌晨备份 GitLab 数据。

root@gitlab-opsbj:~ # vim /etc/crontab
00 00 * * * root /opt/gitlab/bin/gitlab-rake gitlab:backup:create

4. GitLab 恢复

首先确保备份的 tar 文件位于 gitlab.rb 配置中描述的备份目录中 gitlab_rails[‘backup_path’]。默认是 /var/opt/gitlab/backups。另外需要授权备份文件的权限给 git 用户

1、停止连接到数据库的进程。让 GitLab 的其余部分运行

root@gitlab-opsbj:~ # gitlab-ctl stop unicorn
ok: down: unicorn: 1s, normally up
root@gitlab-opsbj:~ # gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
root@gitlab-opsbj:~ # gitlab-ctl status
GitLab停止数据连接服务
GitLab停止数据连接服务

2、 从指定的时间恢复备份,这个备份时间就是备份时的时间戳数字

root@gitlab-opsbj:~ # gitlab-rake gitlab:backup:restore BACKUP=1554948330_2019_04_11_11.9.6

参考文档

GitLab官方文档备份示例

如果觉得文章不错,不妨给个『打赏』写作不易,各位的支持,能激发和鼓励我更大的写作热情。谢谢

原创文章,作者:恩志,如若转载,请注明出处:https://www.xbzdr.com/432.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

在线咨询:点击这里给我发消息

邮件:510749025@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code