线上服务器有几个账户表需要备份,内网服务器也没有多大空间,2T硬盘做其他备份也没有多少空间了。正好有一台windows server 2012,用来计算excel的,平时不怎么用。空间有500G,可以拿来使用。
线上linux服务器的rsync服务器已经配置好了
下载rsync windows客户端,free版本
https://www.itefix.net/content/cwrsync-free-edition
解压之后,将里面的cwRsync_5.5.0_x86_Free目录放到E:盘
重命名文件夹cwRsync
进入目录,创建3个文件夹backup,cmd,log
说明:
backup 存放备份文件
cmd bat脚本
log 日志文件
在cmd目录,新建一个rsync_bak.bat文件
内容如下:
echo "#############################" >> E:\cwRsync\log\rsync_bak_log.txt
echo 开始时间为: %date%_%time% >> E:\cwRsync\log\rsync_bak_log.txt
set bak_time=%date:~0,4%%date:~5,2%%date:~8,2%
cd /d E:\cwRsync\bin\ && rsync -vzrtopg --progress --password-file="./rsync.pas" rsyncman@121.xx.xx.xx::dts_message/user_%bak_time%.sql "../../backup"
rem 注释:删除7天前的sql文件
forfiles /p "E:\cwRsync\backup" /s /m *.sql* /d -1 /c "cmd /c del @path"
dir /ad/b/s E:\cwRsync\backup\ |sort /r >E:\cwRsync\cmd\kill.txt
For /f "tokens=*" %%i in (E:\cwRsync\cmd\kill.txt) DO rd "%%i"
del E:\cwRsync\cmd\kill.txt
echo 完成时间为: %date%_%time% >> E:\cwRsync\log\rsync_bak_log.txt
然后定义任务计划执行,就可以了
注意选择红色方框部分
说明:
线上的sql文件格式如下:
user_20151203.sql
所以在bat文件里面定义了一个变量
set bak_time=%date:~0,4%%date:~5,2%%date:~8,2%
然后调用的时候
就是user_%bak_time%.sql
本文出自 “陨落星空” 博客,请务必保留此出处http://xiao987334176.blog.51cto.com/2202382/1736075
原文:http://xiao987334176.blog.51cto.com/2202382/1736075