gitlab 遷移
Gitlab 創建備份
使用Gitlab一鍵安裝包安裝Gitlab非常簡單, 同樣的備份恢復與遷移也非常簡單. 使用一條命令即可創建完整的Gitlab備份:
gitlab-rake gitlab:backup:create
使用以上命令會在/var/opt/gitlab/backups目錄下創建一個名稱類似為1393446186_gitlab_backup.tar的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中開頭的1393513186是備份創建的日期.
Gitlab 修改備份文件默認目錄
你也可以通過修改/etc/gitlab/gitlab.rb來修改默認存放備份文件的目錄:
gitlab_rails[‘backup_path‘] = ‘/mnt/backups‘
/mnt/backups修改為你想存放備份的目錄即可, 修改完成之後使用gitlab-ctl reconfigure命令重載配置文件即可.
Gitlab 自動備份
也可以通過crontab使用備份命令實現自動備份:
sudo su -
crontab -e
加入以下, 實現每天淩晨2點進行一次自動備份:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
Gitlab 恢復
同樣, Gitlab的從備份恢復也非常簡單:
停止相關數據連接服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
從1393446186編號備份中恢復
gitlab-rake gitlab:backup:restore BACKUP=1393446186
啟動Gitlab
sudo gitlab-ctl start
Gitlab遷移
遷移如同備份與恢復的步驟一樣, 只需要將老服務器/var/opt/gitlab/backups目錄下的備份文件拷貝到新服務器上的/var/opt/gitlab/backups即可(如果你沒修改過默認備份目錄的話). 但是需要註意的是新服務器上的Gitlab的版本必須與創建備份時的Gitlab版本號相同. 比如新服務器安裝的是最新的7.60版本的Gitlab, 那麽遷移之前, 最好將老服務器的Gitlab 升級為7.60在進行備份.
在卸載gitlab然後再次安裝執行sudo gitlab-ctl reconfigure的時候往往會出現:ruby_block[supervise_redis_sleep] action run,會一直卡無法往下進行!
解決方案:
1、按住CTRL+C強制結束;
2、運行:sudo systemctl restart gitlab-runsvdir;
3、再次執行:sudo gitlab-ctl reconfigure
gitlab 遷移