一、創(chuàng)建備份文件
首先我們得把老服務器上的Gitlab整體備份,使用Gitlab一鍵安裝包安裝Gitlab非常簡單, 同樣的備份恢復與遷移也非常簡單. 使用一條命令即可創(chuàng)建完整的Gitlab備份。
gitlab完全備份命令:
gitlab-rake gitlab:backup:create
使用以上命令會在/var/opt/gitlab/backups目錄下創(chuàng)建一個名稱類似為1545200330_2018_12_19_11.3.13_gitlab_backup.tar的壓縮包, 這個壓縮包就是Gitlab整個的完整部分, 其中中間部分的是備份創(chuàng)建的2018_12_19日期
/etc/gitlab/gitlab.rb 配置文件須備份
/var/opt/gitlab/nginx/conf nginx配置文件
執(zhí)行完后,/var/opt/gitlab/backups目錄創(chuàng)建一個名稱類似為1545201028_2018_12_19_11.3.13_gitlab_backup.tar的壓縮包
二、更改Gitlab備份目錄
可以通過/etc/gitlab/gitlab.rb配置文件來修改默認存放備份文件的目錄,配置文件中229行為系統(tǒng)默認備份路徑,我們只需要在下面添加一行,或者直接修改默認配置,去掉注釋即可。
做完這步以后需要重新加載配置(相當于重啟gitlab)命令如下:
gitlab-ctl reconfigure
之后我們可以再進行一次全量備份,可以看到備份的目錄已經被我們更改了。
gitlab-rake gitlab:backup:create
三、 Gitlab自動備份
在crontab文件里面,每一行代表一項任務,每行的每個字段代表一項設置,它的格式共分為六個字段,前五段是時間設定段,第六段是要執(zhí)行的命令段,每個字段之間用空格分割,沒用的段用*代替,格式如下:
#輸入命令crontab -e
crontab -e
#輸入相應的任務
0 2 * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
編輯完保存退出,也可以直接編輯 vim /etc/crontab 這個文件,效果是一樣的。 這時候需要重啟一下crontab服務并且,設置為開機自啟。
#重啟定時任務服務
systemctl restart crond.service
#實現(xiàn)開機自啟動
systemctl enable crond.service
四、 設置備份過期時間
設置只保存最近7天的備份,編輯 /etc/gitlab/gitlab.rb 配置文件,找到gitlab_rails[‘backup_keep_time’],設置為你想要設置的值,然后保存。這個地方的604800是以秒為單位。同樣修改完以后重新載入配置。
五、從備份文件中恢復gitlab
第一步,將備份文件權限修改為777,不然可能恢復的時候會出現(xiàn)權限不夠,不能解壓的問題
chmod 777 1545201028_2018_12_19_11.3.13_gitlab_backup.tar
第二步,執(zhí)行命令停止相關數據連接服務
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
第三步,執(zhí)行命令從備份文件中恢復Gitlab
Gitlab的恢復操作會先將當前所有的數據清空,然后再根據備份數據進行恢復
#gitlab-rake gitlab:backup:restore BACKUP=備份文件編號
#例如我們的備份文件的編號是1545202224_2018_12_19_11.3.13,因此執(zhí)行下面的命令即可恢復
gitlab-rake gitlab:backup:restore BACKUP=1545202224_2018_12_19_11.3.13
敲完命令后,出現(xiàn)第一個交互頁面,
輸入“yes”繼續(xù)。 這時已經開始恢復了。
出現(xiàn)第二個交互頁面,繼續(xù)輸入“yes”
第四步,啟動Gitlab
gitlab-ctl start
這時已經把數據恢復完成了,我們可以訪問gitlab地址http://192.168.10.178/dashboard/projects
恢復已完成~
GitLab重置用戶名密碼
打開終端,訪問:
gitlab-rails console production
輸入:
user = User.where(id: 1).first
user.password=123456
user.password_confirmation = ‘123456’
user.save! #注意加上 “!”
然后退出命令行即可。
quit
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。