需要用到的工具cwrsync:http://down.51cto.com/data/2103716


windows上用到的bat脚本:

@echo off
set fdate=%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%    
echo %fdate%
ldifde -f %fdate%.ldf
move %fdate%.ldf D:\adbackup\addata
D:\adbackup\command\cwRsync\rsync.exe --delete -az "/cygdrive/D/adbackup/addata" adrsync@deer.boqii-inc.com::adbackup --password-file="/cygdrive/D/adbackup/command/cwRsync/pass.txt"

其中bat中取时间变量做为文件名:


“date:~0,10%是DOS里取日期的命令。 

echo :~1,5%      //指针向右→偏移1位,然后从指针处开始向右→提取5个字符.

echo :~0,-3%    //指针不偏移,→提取所有字符,并除去最后3个字符.

echo :~5%        //单个数字,不指定长度值.表示指针→偏移5个字符,然后,→提取所有字符.

echo :~-5%  //单个负值,特例,表示指针反方向偏移,从最右端起,←偏移5位,然后从指针处开始→提取所有字符.也可以简单理解为提取字符串末尾5个字符。

举例:

C:\Documents and Settings\user>echo %date%

2012-08-08 星期三

C:\Documents and Settings\user>echo %date:~5,10%

08-08 星期三

C:\Documents and Settings\user>echo %date:~5,4%

08-0

C:\Documents and Settings\user>echo %date:~5,5%

08-08



cwrsync命令解释:

rsync.exe --delete -az "/cygdrive/D/adbackup/addata" adrsync@rsync.xx.com::adbackup --password-file="/cygdrive/D/adbackup/command/cwRsync/pass.txt"

--delete -az  去重性同步,保持两端文件一致

"/cygdrive/D/adbackup/addata"    源文件目录,代表d:/adbackup/addata

adrsync@rsync.xx.com::adbackup    adrsync为rsync备份用户名,rsync.xx.com为rsync服务器名,adbackup为rsync模块

--password-file="/cygdrive/D/adbackup/command/cwRsync/pass.txt"        指定rsync备份用户名的密码文件路径,格式类似于“源文件目录”



rsync服务配置文件(linux):

[root@deer rdata]# cat /etc/rsyncd.conf 
uid = root
gid = root
[adbackup]
path = /adbackup/rdata
comment = Windows AD backup dir
list = yes
auth user = backuser
secrets file = /abbackup/adrsync.pass
read only = no



定期清理,服务器打包等操作不再赘述!