一、备份到本机/backup目录
Jenkins:
参考连接://www.greatytc.com/p/c890d2cee74f
路径设置为/backup
Gogs:
参考连接:[https://www.cnblogs.com/fjping0606/p/6114123.html]
gogs 二进制安装 + 备份恢复 + 找回管理员密码_草原狼的技术博客_51CTO博客
(https://www.cnblogs.com/fjping0606/p/6114123.html)
使用工具:shell / crontab / notify-tools / rsync
1、设置定时任务每周六23点执行脚本 0 23 * * 6 sh /root/bin/backup.sh
root[10:22:52]/backup/gogs$ cat /root/bin/backup.sh
#!/bin/bash
MYDATE=`date %d%m%y`
mysqldump -uroot -p gogs > gogs.sql //备份数据库
cp /home/git/gogs/custom/conf/app.ini /backup/gogs/gogs-app.ini //备份配置文件
tar zcf /backup/gogs/gogs-repositories-$MYDATE.tar.gz /home/git/gogs-repositories //备份git目录,按时间命名
二、同步到备份服务器/backup目录
1、编写运行脚本:
root[10:31:24]/backup/gogs$ cat /home/loongson/rsync/monitor_dircharge.sh
#!/bin/sh
## -------------------------------------------------
## @监控目录状态,有变化后触发rsync同步
## -------------------------------------------------
srcdir="/backup"
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T%w%f' -e modify,delete,create,attrib,move ${srcdir} \
| while read file
do
rsync -avPz --progress --delete /backup 10.120.1.9:/
2、启动脚本
nohup sudo sh /data/script/monitor_dircharge.sh >> /tmp/inotify.log 2>&1 &
3、添加开机启动
echo 'nohup sudo sh /data/script/monitor_dircharge.sh >> /tmp/inotify.log 2>&1 &' >> /etc/rc.local
