gitlab備份和遷移


一 遷移前提

1 首先保證兩個服務器的gitlab版本一致,

sudo gitlab-rake gitlab:env:info   查看版本信息

2 設置目錄權限

把目標機器里面的備份放到你的新機器上面的備份目錄 默認是在/ var/opt/gitlab/backups 這個目錄下,可以自己定義,默認備份的這個目錄普通用戶無查看權限,需要自己更改權限,默認一般是git用戶

二 備份

要想遷移,前提是要先備份完整的gitlab數據
備份時需要保持gitlab處於正常運行狀態,直接執行gitlab-rake gitlab:backup:create進行備份

使用以上命令會在/var/opt/gitlab/backups目錄下創建一個名稱類似為1530156812_2018_06_28_10.8.4_gitlab_backup.tar的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中開頭的1530156812_2018_06_28_10.8.4是備份創建的日期

2.1 修改備份文件目錄

可以通過/etc/gitlab/gitlab.rb配置文件來修改默認存放備份文件的目錄

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

修改完成之后使用gitlab-ctl reconfigure命令重載配置文件即可

2.2 設置備份過期時間

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb

gitlab_rails['backup_keep_time'] = 604800        #以秒為單位

2.3 gitlab自動備份

創建定時任務


[root@gitlab ~]# crontab -e

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create 

三 遷移過程

首先要先拷貝備份好的數據到目標服務器所在的對應目錄


# 先關閉連接數據庫的進程
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq

#確認狀態
sudo gitlab-ctl status

# 通過指定時間戳來執行restore操作,這個操作會復寫gitlab的數據庫

sudo gitlab-rake gitlab:backup:restore BACKUP=1544701014_2018_12_13_10.3.3  # 后面的這個時間戳是你備份的名字
#  注意:備份的時候,gitlab-rake后面的命令都不會自動補全,需要手寫,恢復過程中需要按照提示輸入兩次yes並回車 


# 再次啟動gitlab
sudo gitlab-ctl restart

# 通過下面命令檢查gitlab
sudo gitlab-rake gitlab:check SANITIZE=true

恢復過程如圖:

然后訪問網頁查看效果,如果提示502等一分鍾再刷新一次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM