1.Gitlab創(chuàng)建備份
1
#gitlab-rake gitlab:backup:create
使用以上命令會(huì)在/var/opt/gitlab/backups目錄下創(chuàng)建一個(gè)名稱類似為1393513186_gitlab_backup.tar的壓縮包, 這個(gè)壓縮包就是Gitlab整個(gè)的完整部分, 其中開頭的1393513186是備份創(chuàng)建的日期评架。
2.Gitlab恢復(fù)
# 停止相關(guān)數(shù)據(jù)連接服務(wù)
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
# 從1393513186編號(hào)備份中恢復(fù)
gitlab-rake gitlab:backup:restore BACKUP=1393513186
# 啟動(dòng)Gitlab
sudo gitlab-ctl start
3.Gitlab遷移
遷移如同備份與恢復(fù)的步驟一樣, 只需要將老服務(wù)器/var/opt/gitlab/backups目錄下的備份文件拷貝到新服務(wù)器上的/var/opt/gitlab/backups即可(如果你沒(méi)修改過(guò)默認(rèn)備份目錄的話)。但是需要注意的是新服務(wù)器上的Gitlab的版本必須與創(chuàng)建備份時(shí)的Gitlab版本號(hào)相同. 比如新服務(wù)器安裝的是最新的8.5版本的Gitlab, 那么遷移之前, 最好將老服務(wù)器的Gitlab 升級(jí)為8.5再進(jìn)行備份毅舆。
4.自動(dòng)備份
通過(guò)crontab使用備份命令實(shí)現(xiàn)自動(dòng)備份:
sudo su -
crontab -e
例如加入以下, 實(shí)現(xiàn)每天凌晨2點(diǎn)進(jìn)行一次自動(dòng)備份:
1
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
4.注意事項(xiàng)
①添加這項(xiàng)是因?yàn)樘砑幼詣?dòng)備份后的幾天時(shí)間里,Gitlab所在的KVM一直宕機(jī)确垫。通過(guò)模擬cron計(jì)劃任務(wù)操漠,發(fā)現(xiàn)第一條gitlab創(chuàng)建備份的過(guò)程是先備份出許多(db、repo等文件)歹颓,再通過(guò)這些文件合并成一個(gè)備份壓縮包择膝,最后刪除文件誓琼,只剩一個(gè)備份壓縮包。這就相當(dāng)于先產(chǎn)生2倍備份壓縮包,導(dǎo)致磁盤爆滿腹侣『强福恢復(fù)也是同樣的過(guò)程。
②
Unpacking backup ... tar: 1479265387_gitlab_backup.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now
unpacking backup failed
遷移的備份文件權(quán)限不足筐带,可以給足權(quán)限今穿,然后再恢復(fù)。
③恢復(fù)過(guò)程中遇到一個(gè)錯(cuò)誤:
Started GET "/EagleEye/BMH.EagleEye" for 127.0.0.1 at 2016-10-25 10:54:32 +0800
Processing by ProjectsController#show as HTML
Parameters: {"namespace_id"=>"EagleEye", "id"=>"BMH.EagleEye"}
Completed 500 Internal Server Error in 215ms (ActiveRecord: 19.5ms)
OpenSSL::Cipher::CipherError (bad decrypt):
app/models/project.rb:383:in `import_url'
app/models/project.rb:413:in `external_import?'
app/models/project.rb:405:in `import?'
app/models/project.rb:421:in `import_in_progress?'
app/controllers/projects_controller.rb:93:in `show'
lib/gitlab/middleware/go.rb:16:in `call'
系統(tǒng)是centos 6.2的 ,gitlab是8.8.5遷移到另外一臺(tái)服務(wù)器上的伦籍,其它頁(yè)面都可以正常顯示蓝晒,但是一點(diǎn)擊項(xiàng)目就會(huì)顯示500,。查看/var/log/gitlab/gitlab-rails/production.log日志帖鸦,發(fā)現(xiàn)上述錯(cuò)誤 芝薇。
通過(guò)搜索知道,這是gitlab數(shù)據(jù)遷移時(shí)的一個(gè)缺陷作儿。解決方法:
1洛二、覆蓋原來(lái)gitlab的 db_key_base 到新的gitlab
db_key_base 位置在 /etc/gitlab/gitlab-secrets.json
2、EE版本執(zhí)行
sudo gitlab-rails runner "Project.where(mirror: false).where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"
CE版本執(zhí)行
sudo gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"
重啟gitlab攻锰,發(fā)現(xiàn)500錯(cuò)誤不見晾嘶,項(xiàng)目能訪問(wèn)到。
gitlab相關(guān)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門陶耍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)奋蔚,“玉大人,你說(shuō)我怎么就攤上這事物臂⊥” “怎么了产上?”我有些...
- 文/不壞的土叔 我叫張陵棵磷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我晋涣,道長(zhǎng)仪媒,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮算吩,結(jié)果婚禮上留凭,老公的妹妹穿的比我還像新娘。我一直安慰自己偎巢,他們只是感情好蔼夜,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著压昼,像睡著了一般求冷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窍霞,一...
- 那天匠题,我揣著相機(jī)與錄音,去河邊找鬼但金。 笑死韭山,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的冷溃。 我是一名探鬼主播钱磅,決...
- 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼似枕!你這毒婦竟也來(lái)了续搀?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬(wàn)榮一對(duì)情侶失蹤菠净,失蹤者是張志新(化名)和其女友劉穎禁舷,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體毅往,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡牵咙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了攀唯。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洁桌。...
- 正文 年R本政府宣布吠谢,位于F島的核電站,受9級(jí)特大地震影響诗茎,放射性物質(zhì)發(fā)生泄漏工坊。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望王污。 院中可真熱鬧罢吃,春花似錦、人聲如沸昭齐。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)阱驾。三九已至泊业,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間啊易,已是汗流浹背吁伺。 一陣腳步聲響...
- 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像割去,于是被迫代替她去往敵國(guó)和親窟却。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- GitLab-CI與GitLab-Runner自動(dòng)部署 矽偉智 Seven 2016年12月28日17:30:4...
- 遺留了幾個(gè)優(yōu)化的點(diǎn)呻逆,今天來(lái)完善一下夸赫。無(wú)意間發(fā)現(xiàn),如果想使用docker hub自動(dòng)創(chuàng)建鏡像咖城,還蠻麻煩茬腿,稍微講一下操...
- 一、持續(xù)集成(Continuous Integration) 要了解GitLab-CI與GitLab Runner...
- 本文通過(guò)原理分析和實(shí)測(cè)結(jié)果對(duì)EventBus和RxBus做詳盡的對(duì)比,給大家在實(shí)際項(xiàng)目中選型做參考辐董。 開始之前先提...