Gitlab的配置备份

备份正文

我这个gitlab是容器安装的,直接使用最新的gitlab镜像,gitlab版本是10.7.3

要备份数据的话,就要进入容器里,执行gitlab-rake gitlab:backup:create,效果如下:
paradin

执行完毕之后,在/var/opt/gitlab/backups文件夹里就会生成一个备份文件,我这里生成的文件叫:1526454102_2018_05_16_10.7.3_gitlab_backup.tar,这个就是备份的文件。

如果要还原的话,命令如下:

1
2
3
4
5
6
7
8
9
10
11
# 先关闭连接数据库的进程
sudo gitlab-ctl stop

# 通过指定时间戳来执行restore操作,这个操作会复写gitlab的数据库
sudo gitlab-rake gitlab:backup:restore BACKUP=1526454102 #BACKUP后面的是备份文件开头的那串数字

# 再次启动gitlab
sudo gitlab-ctl start

# 通过下面命令检查gitlab
sudo gitlab-rake gitlab:check SANITIZE=true

注意!利用backup机制进行备份的话,对gitlab的版本是要求严格一致的。例如用8.6版的gitlab生成的备份文件,拿到8.7版的gitlab上进行恢复,是会报错的。

同时除了要导入备份文件之外,还要备份以下几个文件:

1
2
3
/etc/gitlab/gitlab.rb 	配置文件须备份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 邮件配置备份

如果要设置这个备份文件的生命周期和备份文件存储的位置,编辑/etc/gitlab/gitlab.rb,修改如下的地方:

1
2
3
4
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"		#这里改新路径
gitlab_rails['backup_archive_permissions'] = 0644 #这里可以设定文件的权限
# limit backup lifetime to 7 days - 604800 seconds
gitlab_rails['backup_keep_time'] = 604800 #文件存储时间一周

然后重启一下gitlab即可。

参考资料

http://eimsteim.github.io/2017/12/12/%E8%AE%B0%E4%B8%80%E6%AC%A1%E5%9D%91%E7%88%B9%E7%9A%84Gitlab%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB%E4%B9%8B%E6%97%85/

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------