备份Redmine

如意通科技采用rsync工具进行差异备份,其中Rsync服务器使用的是FreeNAS自带的Rsync服务

这里只简单介绍一下在Docker容器中如何配置Rsync客户端每天定时备份Redmine

以下假定是在如意通正在运行的Docker容器中的操作

安装rsync软件

apt-get install rsync

参考 http://www.jb51.net/article/19875.htmhttp://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

results matching ""

    No results matching ""