gitlab自帶的備份功能做不到實時備份,為了盡可能減少意外情況導致的丟失資料,自己搞了乙個實時備份的功能。
備份的大頭主要是兩部分,資料庫和**庫。資料庫由dba配置主備。
倉庫經過測試,通過lsyncd同步repo倉庫是可行的。lsyncd封裝了inotify & rsync,會比使用inotify好用許多。
lsyncd的使用:
安裝 yum install -y lsyncd
使用 lsyncd -log exec***.conf
***.conf 配置檔案:
settings
sync
}
由於倉庫檔案數量通常較多,往往需要修改inotify的監控數量上限
/etc/sysct.conf: fs.inotify.max_user_watches=***xx
打通源機器到備份機器的ssh埠,然後啟動lsyncd
資料庫備庫設定為唯讀,這樣備機其實可以一直開著,在主機發生問題時,通過dns/lvs直接切換。
lsyncd配置部分參考文章:
gitlab還原備份
通過rpm安裝 wget rpm ivh gitlab ce 8.8.5 ce.1.el7.x86 64.rpm若要修改後端資料庫,配置使用mysql,則需執行 注意 此步需外網 https 並根據之後報錯缺少哪個版本的包就裝 yum install y mysql devel opt gitlab...
gitlab備份還原
斷電後gitlab報500錯誤 檢視日誌 tail f var log gitlab gitlab rails production.logactionview template error failed to parse loose object invalid header 沒轍,試著從備份資料...
遠端備份gitlab
使用gitlab進行備份 bin bash opt gitlab bin gitlab rake gitlab backup create cron 1 指令碼目錄 var opt gitlab backups 遠端備份指令碼 bin bash localbackdir var opt gitlab...