过去,我们是gitlab docker加上本地磁盘上的一个大目录进行运行。但是,数据备份还是很重要的,要不万一那一天数据没了,怕就怕万一。
应该如何备份呢,我们可以选择定时,怎么个定时法呢,如下:
# gitlab 定时备份
00 08 * * * cd /opt/gitlab/ && rsync -avzP . soft.ops.ac.cn::opsbak/gitlab/0800/ 1>/var/log/rsync.0800.log 2>&1
00 20 * * * cd /opt/gitlab/ && rsync -avzP . soft.ops.ac.cn::opsbak/gitlab/2000/ 1>/var/log/rsync.2000.log 2>&1
00 03 */7 * * cd /opt/gitlab/ && rsync -avzP . soft.ops.ac.cn::opsbak/gitlab/1w/ 1>/var/log/rsync.1w.log 2>&1
00 03 */30 * * cd /opt/gitlab/ && rsync -avzP . soft.ops.ac.cn::opsbak/gitlab/1m/ 1>/var/log/rsync.1m.log 2>&1
- rsync服务器配置
[opsbak]
path = /data/bak/
hosts allow = 0.0.0.0/0
list = yes
uid = root
gid = root
read only = false
log file = /var/log/rsyncd.opsbak.log
这样过上一个月,我们就有了4个备份
* 每天早8点
* 每天晚8点
* 每周凌晨3点
* 每月凌晨3点
不过这个地方有个参数不敢用,就是–delete,因为这个参数代表的是如果在源目录进行了文件删除,那么b目录也同样要做这个动作,意思就是目标和源完全同步。