天天看點

GitLab資料備份與恢複

定時

/etc/backgit.sh

echo de183!!! | sudo -S gitlab-rake gitlab:backup:create &

crontab -e

* * * * 5 /etc/backgit.sh

建立備份

$ sudo gitlab-rake gitlab:backup:create      

執行完備份指令後會在​

​/var/opt/gitlab/backups​

​​目錄下生成備份後的檔案,如​

​1500809139_2017_07_23_gitlab_backup.tar​

​。1500809139是一個時間戳,從1970年1月1日0時到目前時間的秒數。這個壓縮包包含Gitlab所有資料(例如:管理者、普通賬戶以及倉庫等等)。

從備份恢複

本節說明如何在另一台主機上恢複資料。

将備份檔案拷貝到​

​/var/opt/gitlab/backups​

​下(備份和恢複的GitLab版本盡量保持一緻,後文描述了版本不比對的處理方法)。

停止相關資料連接配接服務

sudo gitlab-ctl stop unicorn

sudo gitlab-ctl stop sidekiq      

從備份恢複

從指定時間戳的備份恢複(backups目錄下有多個備份檔案時):

sudo gitlab-rake gitlab:backup:restore BACKUP=1500809139      

從預設備份恢複(backups目錄下隻有一個備份檔案時):

sudo gitlab-rake gitlab:backup:restore      

啟動Gitlab

sudo gitlab-ctl start

sudo gitlab-ctl reconfigure      

修改預設備份目錄【可選】

你也可以通過修改​

​/etc/gitlab/gitlab.rb​

​來修改預設存放備份檔案的目錄:

gitlab_rails['backup_path'] = '/home/backup'      

​/home/backup​

​​修改為你想存放備份的目錄即可, 修改完成之後使用​

​gitlab-ctl reconfigure​

​指令重載配置檔案即可。

問題與解決

安裝指定版本gitlab-ce

​curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash​

​sudo apt-get install gitlab-ce=8.16.6-ce.0​

  • ​https://about.gitlab.com/installation/#ubuntu​

  • ​https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_8.16.6-ce.0_amd64.deb​

重裝後通路頁面出現500或502

sudo gitlab-ctl stop

sudo apt-get --purge remove gitlab-ce

sudo rm -r /var/opt/gitlab

sudo rm -r /opt/gitlab

sudo rm -r /etc/gitlab      

修改主機域名

sudo vi /etc/gitlab/gitlab.rb

external_url '你的網址'