gitlab主备同步_gitlab实时备份方案(非官方命令)

gitlab自带的备份功能做不到实时备份,为了尽可能减少意外情况导致的丢失数据,自己搞了一个实时备份的功能。

备份的大头主要是两部分,数据库和代码库。数据库由DBA配置主备。

仓库经过测试,通过lsyncd同步repo仓库是可行的。lsyncd封装了inotify & rsync,会比使用inotify好用许多。

lsyncd的使用:

安装 yum install -y lsyncd

使用 lsyncd -log Execxxx.conf

xxx.conf 配置文件:

settings {

logfile ="/var/log/lsyncd/lsyncd.log",

statusFile ="/var/log/lsyncd/lsyncd.status",

inotifyMode = "CloseWrite", #inotify监控的时间

maxProcesses = 10, #同时最大起的rsync进程数,一个rsync同步一个文件

}

sync {

default.rsync,

source = "$GITLAB_REPO_PATH", #源目录,路径使用绝对路径

target = "$USER@$BACKUP_IP_ADDRESS:$GITLAB_REPO_PATH", #目标目录

maxDelays = 50, #统计到多少次监控事件即开始一次同步

delay = 60, #若60s内未出发50次监控事件,则每60s同步一次

de

你可能感兴趣的:(gitlab主备同步)