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