1. 程式人生 > >gitlab備份、還原及遷移

gitlab備份、還原及遷移

esql 腳本 nta remove roo sid ide www com

安裝gitlab可參考上篇博文:gitlab在centons環境下的安裝及使用

一、gitlab創建備份

在終端中執行:gitlab-rake gitlab:backup:create 備份文件所在路徑為:/var/opt/gitlab/backups/

備份得到的文件格式如:1504860571_2017_09_08_9.5.3_gitlab_backup.tar 時間挫_年_月_日_gitlap版本_gitlab_backup.tar

若需修改備份文件的存放路徑:vim /etc/gitlab/gitlab.rb 修改# gitlab_rails[‘backup_path‘] = "/var/opt/gitlab/backups"即可

自動備份:可以借助於時間任務進行。

具體實現:crontab -e

     37 10 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create --每天的10:37執行備份。

自動清除備份文件

vim /var/opt/gitlab/backups/remove.sh --創建備份腳本

!/bin/bash
find "/var/opt/gitlab/backups/" -name ".tar" -ctime +30 -type f -exec rm -rf {} \;

#刪除30以前的備份文件
contab -e
45 10 * * root sh /var/opt/gitlab/backups/remove.sh --每天的10:45執行刪除備份的腳本

二:gitlab還原

停止相關數據連接服務

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

還原操作

假設從1505097437_2017_09_11_9.5.3_gitlab_backup.tar備份文件中恢復

在終端執行:gitlab-rake gitlab:backup:restore BACKUP=1505097437

啟動gitlab服務

gitlab-ctl start

註意:不能直接在終端執行gitlab-ctl stop停止所有服務。因gitlab刪除和還原操作還需要使用到redis和postgresql連接

三、gitlab遷移

在新的服務器上搭建好gitlab環境但gitlab版本需跟原有版本一致。然後將原gitlab備份拷貝到新gitlab環境的對應位置,再執行還原過程即可。

註意:cp的時候屬主和屬組會改變,導致權限不夠,需要修改成git為所屬者。

在終端執行:chown git:git /var/opt/gitlab/backups/1505097437_2017_09_11_9.5.3_gitlab_backup.tar

gitlab備份、還原及遷移