Gitlab 建立備份nginx
使用Gitlab一鍵安裝包安裝Gitlab很是簡單, 一樣的備份恢復與遷移也很是簡單. 使用一條命令便可建立完整的Gitlab備份:git
gitlab-rake gitlab:backup:create服務器
使用以上命令會在/var/opt/gitlab/backups目錄下建立一個名稱相似爲1393513186_gitlab_backup.tar的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中開頭的1393513186是備份建立的日期.ide
Gitlab 修改備份文件默認目錄gitlab
你也能夠經過修改/etc/gitlab/gitlab.rb來修改默認存放備份文件的目錄:rest
gitlab_rails['backup_path'] = '/mnt/backups'crontab
/mnt/backups修改成你想存放備份的目錄便可, 修改完成以後使用gitlab-ctl reconfigure命令重載配置文件便可.get
Gitlab 自動備份it
也能夠經過crontab使用備份命令實現自動備份:ast
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 # 從1393513186編號備份中恢復 gitlab-rake gitlab:backup:restore BACKUP=1393513186 # 啓動Gitlab sudo gitlab-ctl start
Gitlab遷移
遷移如同備份與恢復的步驟同樣, 只須要將老服務器/var/opt/gitlab/backups目錄下的備份文件拷貝到新服務器上的/var/opt/gitlab/backups即 可(若是你沒修改過默認備份目錄的話). 可是須要注意的是新服務器上的Gitlab的版本必須與建立備份時的Gitlab版本號相同. 好比新服務器安裝的是最新的7.60版本的Gitlab, 那麼遷移以前, 最好將老服務器的Gitlab 升級爲7.60在進行備份.
其餘
最新版本的Gitlab已經修復了HTTPS設備的BUG, 如今使用官方HTTPS配置便可輕鬆啓用HTTPS.
因爲gitlab使用rpm包進行安裝,所以也就使用了gitlab-sheel進行備份。遷移以及還原步驟以下:
1:再次安裝相同版本的gitlab
rpm -ivh gitlab-ce-8.7.5-ce.0.el7.x86_64.rpm
sudo gitlab-ctl reconfigure
2:將備份的tar包複製到/var/opt/gitlab/backups/ 目錄下
cp 1479177181_gitlab_backup.tar /var/opt/gitlab/backups/
3:執行還原命令
# 中止相關數據鏈接服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 從14791771816編號備份中恢復,編號的含義是備份的時間戳
gitlab-rake gitlab:backup:restore BACKUP=1479177181
# 啓動Gitlab
sudo gitlab-ctl start
註釋:還原後用admin的帳號以及密碼登陸便可
另外一個管理員帳號:admin 密碼:123456
備份的命令以下:
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
備份完成後會在/var/opt/gitlab/backups/生成一個帶時間戳的tar包