gitlab備份、還原及遷移
安裝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備份、還原及遷移