gitlab實時備份方案(非官方命令)

2021-07-29 17:05:47 字數 584 閱讀 3790

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...