1、GItlab备份
Gitlab默认的备份路径都是在配置文件中指定的,所以我们可以去配置文件中查看
vim /etc/gitlab/gitlab.rb
1
2
3
|
# gitlab_rails['manage_backup_path'] = true
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
#在配置文件中我们需要注意这两条,定义备份位置
|
我们需要修改配置如下,激活
1
2
|
gitlab_rails[
'backup_keep_time'
] = 604800
#这个是秒,7天的时间
gitlab_rails[
'backup_path'
] =
"/var/opt/gitlab/backups"
|
创建备份目录和授权
1
2
|
mkdir
-p
/var/opt/gitlab/backups
chown
-R git.git
/var/opt/gitlab/backups
|
重新加载配置,让配置生效
1
2
|
gitlab-cli reconfigure
gitlab-cli restart
|
备份:
gitlab的备份非常简单,就是一条命令
1
|
/usr/bin/gitlab-rake
gitlab:backup:create
|
执行完上面的备份命令后,会在备份目录下面生成一个类似这样的文件1494780002_gitlab_backup.tar
这个压缩包就是Gitlab整个的完整部分, 其中开头的1494780002是备份创建的日期,可以通过date命令来查看这个uninx时间戳
1
2
3
4
5
|
[root@linux-node1 app1]
# ll /var/opt/gitlab/backups/
total 112
-rw------- 1 git git 112640 May 15 00:40 1494780002_gitlab_backup.
tar
[root@linux-node1 app1]
# date -d @1494780002
Mon May 15 00:40:02 CST 2017
|
需要备份的文件有:
1
2
3
|
/etc/gitlab/gitlab
.rb 配置文件须备份
/var/opt/gitlab/nginx/conf
nginx配置文件
/etc/postfix/main
.cfpostfix 邮件配置备份
|
系统自动备份,设置定时任务
1
|
0 2 * * *
/opt/gitlab/bin/gitlab-rake
gitlab:backup:create
|
建议,本地保留7天,异地永久保存
2、GItlab恢复
恢复流程:
1、停止数据写入任务
1
2
|
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
|
2、恢复数据
1
|
gitlab-rake gitlab:backup:restore BACKUP=1494780002
|
3、启动服务
1
2
|
gitlab-ctl restart
或者启动上面关闭的那两个服务
|
3、只备份代码
如果只备份代码可以在这个目录下面去备份对应项目的代码,用户的关系不能备份走
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
[root@linux-node1 app1]
# cd /var/opt/gitlab/
[root@linux-node1 gitlab]
# ls
backups gitlab-ci gitlab-workhorse postgresql
bootstrapped gitlab-rails logrotate redis
git-data gitlab-shell nginx trusted-certs-directory-
hash
[root@linux-node1 gitlab]
# cd git-data/
[root@linux-node1 git-data]
# ls
repositories
[root@linux-node1 git-data]
# cd repositories/
[root@linux-node1 repositories]
# ll
total 0
drwxrwx--- 2 git git 6 May 7 14:09 dev1
drwxrwx--- 2 git git 6 May 7 15:12 dev2
drwxrwx--- 4 git git 41 May 14 21:19 Group1
drwxrwx--- 2 git git 6 May 14 21:12 GYH
drwxrwx--- 2 git git 6 May 7 15:12 pm
drwxrwx--- 2 git git 6 May 7 14:05 proje1
drwxrwx--- 4 git git 43 May 7 14:03 root
drwxrwx--- 2 git git 6 May 14 21:11 YH01
drwxrwx--- 2 git git 6 May 14 21:11 YH02
[root@linux-node1 repositories]
#
|
本文转自 kesungang 51CTO博客,原文链接:http://blog.51cto.com/sgk2011/1925939,如需转载请自行联系原作者