备份Redmine
如意通科技采用rsync工具进行差异备份,其中Rsync服务器使用的是FreeNAS自带的Rsync服务
这里只简单介绍一下在Docker容器中如何配置Rsync客户端每天定时备份Redmine
以下假定是在如意通正在运行的Docker容器中的操作
安装rsync软件
apt-get install rsync
参考 http://www.jb51.net/article/19875.htm 和 http://wanwentao.blog.51cto.com/2406488/579008 ,以及 http://blog.chinaunix.net/uid-20406434-id-2947718.html
编辑密码文件
vim /root/root.pas
密码为(根据Rsync服务器的密码来填)
XXXXXX
更改密码文件的权限
chmod 600 /root/root.pas
尝试从本机传文件到Rsync服务的redmine.rooyee.im目录,成功了
rsync -rvlHpogDtS --progress --delete --password-file=/root/root.pas /tmp/redmine-3.2.0/ [email protected]::redmine.rooyee.im/
创建定期备份脚本
先创建一个专门的数据库备份目录用来供rsync同步之前备份数据库用
mkdir -p /tmp/redmine-3.2.0/mysqlbak
然后创建定期备份脚本,用来删除7天前备份以及同步新的mysqldump数据
vim /usr/local/sbin/rsync.sh
如下,备份的时候把7天前的文件删除掉
#!/bin/bash
# redmine.rooyee.im:/usr/local/sbin/rsync.sh
filedata=`find /tmp/redmine-3.2.0/mysqlbak -name *.sql ! -mtime -7`
rm $filedata -rf
bakdate=`date +%Y%m%d`
baksql="/tmp/redmine-3.2.0/mysqlbak/"$bakdate".sql"
mysqldump --user=root -h 127.0.0.1 redmine > $baksql
rsync -rvlHpogDtS --progress --delete --password-file=/root/root.pas /tmp/redmine-3.2.0/ [email protected]::redmine.rooyee.im/
以root身份创建任务
crontab -e
每天晚上执行一次远程自动同步任务
# m h dom mon dow command
39 23 * * * sh /usr/local/sbin/rsync.sh > /dev/null 2>&1