1撒轮、查看系統(tǒng)版本和軟件版本
[root@git-server ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
[root@git-server ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
12.6.3
2、數(shù)據(jù)備份
打開/etc/gitlab/gitlab.rb配置文件,查看一個(gè)和備份相關(guān)的配置項(xiàng):
[root@git-server ~]# vim /etc/gitlab/gitlab.rb 打開注釋
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #備份的路徑
gitlab_rails['backup_archive_permissions'] = 0644 #備份文件的默認(rèn)權(quán)限
gitlab_rails['backup_keep_time'] = 604800 #保留時(shí)長,秒為單位
該項(xiàng)定義了默認(rèn)備份出文件的路徑院尔,可以通過修改該配置,并執(zhí)行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重啟服務(wù)生效喉誊。
[root@git-server ~]# gitlab-ctl reconfigure
或
[root@git-server ~]# gitlab-ctl restart
執(zhí)行備份命令進(jìn)行備份
[root@git-server backups]# /opt/gitlab/bin/gitlab-rake gitlab:backup:create
也可以添加到 crontab 中定時(shí)執(zhí)行:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
可以到/data/gitlab/backups找到備份包邀摆,解壓查看,會發(fā)現(xiàn)備份的還是比較全面的伍茄,數(shù)據(jù)庫栋盹、repositories、build敷矫、upload等分類還是比較清晰的例获。
備份完成,會在備份目錄中生成一個(gè)當(dāng)天日期的tar包曹仗。
3躏敢、數(shù)據(jù)恢復(fù)
特別注意:
- 備份目錄和gitlab.rb中定義的備份目錄必須一致
- GitLab的版本和備份文件中的版本必須一致,否則還原時(shí)會報(bào)錯(cuò)整葡。
在恢復(fù)之前,可以刪除一個(gè)文件讥脐,以便查看效果
[root@git-server backups]# ls
1592911339_2020_06_23_12.6.3_gitlab_backup.tar
[root@git-server backups]# gitlab-rake gitlab:backup:restore BACKUP=1592911339_2020_06_23_12.6.3
恢復(fù)完成后遭居,重啟服務(wù),再打開瀏覽器進(jìn)行訪問旬渠,發(fā)現(xiàn)數(shù)據(jù)和之前的一致:
注意:通過備份文件恢復(fù)gitlab必須保證兩臺主機(jī)的gitlab版本一致俱萍,否則會提示版本不匹配