gitlab数据备份与恢复

604 阅读1分钟

1查看gitlab备份配置

默认地址:vim /etc/gitlab/gitlab.rb

[Shell] 纯文本查看 复制代码
?
1
2
3
4
5
<font style="color:rgb(61, 70, 77)"><font face="&quot"><font style="font-size:16px">149 # gitlab_rails['manage_backup_path'] = true
150 # gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
151 # gitlab_rails['backup_archive_permissions'] = 0644 # See: doc.gitlab.com/ce/rake...
152 # gitlab_rails['backup_pg_schema'] = 'public'
153 # gitlab_rails['backup_keep_time'] = 604800</font></font></font>

可以看到备份后的文件地址为/var/opt/gitlab/backups。

2开始备份

命令为:gitlab-rake gitlab:backup:create

[Shell] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
<font style="color:rgb(61, 70, 77)"><font face="&quot"><font style="font-size:16px">[root@gitlab gitlab]# gitlab-rake gitlab:backup:create
/var/opt/gitlab is not writable.
Bundler will use `/tmp/bundler/home/root' as your home directory temporarily.
Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... [DONE]
Compressing database ... [DONE]
done
Dumping repositories ...
* IC/test-project ... [DONE]
* IC/test-project.wiki ... [SKIPPED]
* OC/document ... [DONE]
* OC/document.wiki ... [SKIPPED]
* pangqian/RD-Center ... [DONE]
* pangqian/RD-Center.wiki ... [SKIPPED]
* IC/document ... [DONE]
* IC/document.wiki ... [SKIPPED]
* OC/SUB_SYSTEM ... [DONE]
* OC/SUB_SYSTEM.wiki ... [SKIPPED]</font></font></font>

3查看备份

[AppleScript] 纯文本查看 复制代码
?
1
2
3
<font style="color:rgb(61, 70, 77)"><font face="&quot"><font style="font-size:16px">[root@gitlab backups]# ll /var/opt/gitlab/backups
总用量 5791024
-rw-------. 1 git git 5930004480 3月 23 14:06 1521785168_gitlab_backup.tar</font></font></font>

4数据恢复

停止相关服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

查看gitlab状态

gitlab-ctl status

cd /data/gitlab/backups

gitlab-rake gitlab:backup:restore BACKUP=1521785168

稍等片刻,就可以继续访问了。