服务器自动定时备份方案

一、备份到本机/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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容