Gitlab篇:Gitlab 数据备份与迁移

01 前言 

虽说Git是分布式的,但是自从经历了上次Jira/Confluence 数据丢失的惨痛教训,为了以防万一,还是每天备份一下吧

02 备份方式

gitlab在服务器的默认备份文件存储在以下文件夹

/var/opt/gitlab/backups

可以通过/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项,可自行修改路径:

gitlab_rails['backup_path'] ="/var/opt/gitlab/backups"    #备份目录可以修改

备份命令用gitlab自带的

gitlab-rake gitlab:backup:create

假如备份路径没改,会在/var/opt/gitlab/backups目录下生成一个tar文件,如下:

1530156812_2019_11_14_10.8.4_gitlab_backup.tar

其中,530156812_2019_11_14_10.8.4 这一串数字就是备份编号,在恢复的时候用的到。

这里我们不修改路径,加到crontab中定时执行:

0  2 *  *  * /opt/gitlab/bin/gitlab-rake gitlab:backup:create  >/dev/null2>&1

gitlab-ce自身集成的有自动删除备份配置。打开/etc/gitlab/gitlab.rb配置

gitlab_rails['backup_keep_time'] = 604800

设置备份保留7天(7x3600x24=604800)秒为单位。

大家可视磁盘空间设置备份文件保留周期

03 数据恢复

停掉数据连接服务

gitlab-ctl  stop  unicorn

gitlab-ctl  stop  sidekiq

恢复

gitlab-rake gitlab:backup:restoreBACKUP=备份编号

注:1、到底那个是备份编号?

        --- _gitlab之前的部分都是;

2、644默认权限。

查看恢复状态:

gitlab-rake gitlab:checkSANITIZE=true

重启服务

gitlab-ctl  start  unicorn

gitlab-ctl  start  sidekiq

gitlab-ctl restart

这里主要讲备份,具体的参考文章为:Gitlab备份、迁移、恢复和升级

你可能感兴趣的:(Gitlab篇:Gitlab 数据备份与迁移)