一、软件
服务器端与客户端软件分别为cwRsyncServer_4.2.0和cwRsync4.2.0
下载地址为:http://www.jb51.net/softs/39404.html
二、环境介绍
server端系统为win 2003,其IP为10.240.210.88;客户端端为winXP SP3,其IP为10.240.210.206
三、安装
分别在服务端与客户端安装对应版本的软件,默认安装即可。我这里服务端的安装路径为:E:\Program Files\ICW,客户端安装路径为
四、配置
服务器端
1)进入安装目录所在的根目录,编辑配置rsyncd.conf
use chroot = false strict modes = false hosts allow = * #允许任意IP lock file = rsyncd.lock max connections = 5 port = 28950 #指定端口号 charset=UTF-8 #指定字符集 #pid = 0 uid = 0 #运行rsync守护进程的用户 0为不限制 gid = 0 #运行rsync守护进程的组 0为不限制 log file = rsyncd.log #日志文件存放位置 # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work # #[test] #path = /cygdrive/c/work #read only = false #transfer logging = yes [data] path = /cygdrive/e/backup #待备份的目录 auth users =user #指定授权用户名 secrets file = etc/rsyncd.secrets #指定密码存储文件 read only = no transfer logging = yes hosts allow = 10.240.210.206 #只允许10.240.210.206
密码文件rsyncd.secrets
存放在安装目录下的名为etc的文件夹中。
其内容为: user:!@#qwe
格式为用户名:密码
需将其权限设置为600,即其他组没有读权限。同时要保证用户cwRsyncServer既是该文件拥有者又对其具有读写权限。设置如下:
2)开启RsyncServer 服务,开始-运行-输入 services.msc-回车后,找到RsyncServer服务并启用。
3)关闭系统防火墙
4)验证服务
打开命令提示符窗口,输入telnet 10.240.210.88 28950,若弹出@RSYNCD: 30.0,则服务正常运行。如下图:
2 客户端安装
1)安装cwRsync4.2.0,一路next即可。
2)测试与服务端的连接是否正常
打开命令提示符窗口,输入telnet 10.240.210.88 28950,若弹出@RSYNCD: 30.0,则服务正常运行。
3)在D:\Program Files\cwRsync\etc目录下新建rsyncd.secrets密码存储文件,该文件内容为
!@#qwe (指定用户user的密码)
4)在桌面新建一个bat脚本,内容为
cd D:\Program Files\cwRsync\bin rsync -vrtopg --port=28950 --progress --delete [email protected]::data /cygdrive/d/backup --password-file=/cygdrive/../etc/rsyncd.secrets pause
亦可为
"D:\Program Files\cwRsync\bin\rsync" -vrtopg --port=28950 --progress --delete [email protected]::data /cygdrive/d/backup --password-file=/cygdrive/../etc/rsyncd.secrets pause
二者功能相同
各项参数说明
--port=28950 为rsync端口号 -vrtopg -v, --verbose 详细模式输出 -r, --recursive 对子目录以递归模式处理 -t, --times 保持文件时间信息 -o, --owner 保持文件属主信息 -p, --perms 保持文件权限 -g, --group 保持文件属组信息 --progress 显示进度 --delete 删除那些DST中SRC没有的文件,就是使客户端D盘下的backup目录与服务器端的backup目录完全一致。 /cygdrive/d/backup 客户端D盘下的backup目录 --password-file=/cygdrive/../etc/rsyncd.secrets 引入密码文件
winxp下无需将改密码文件的拥有者设置为当前用户,server 2003则需要,且需设置对该文件具有读取和执行权限
5)添加到计划任务
a.winxp
开启Task Scheduler服务
开始->控制面板->任务计划->打开添加任务计划->下一步
按照截图中的设置即可
b.winsever 2012
五、批处理脚本
@echo off set today=%date:~,4%-%date:~5,2%-%date:~8,2% md E:\backup\data\%today% md E:\backup\scripts\%today% "E:\Program Files\ICW\Bin\rsync" -av /cygdrive/e/自动备份/ /cygdrive/e/backup/data/%today%/ --delete "E:\Program Files\ICW\Bin\rsync" -av /cygdrive/e/backup/scripts/now/ /cygdrive/e/backup/scripts/%today%/ --delete pause
每天执行一次,将服务器E盘下自动备份文件夹内的内容拷贝至本机的/e/backup/data/%today%/目录内
其中%today%为当前日期,如2015-05-23;将/e/backup/scripts/now/文件内的所有内容拷贝到/e/backup/scripts/%today%/
@echo off set today=%date:~,4%-%date:~5,2%-%date:~8,2% md C:\backup\data\%today% md C:\backup\scripts\%today% echo. >>C:\backup\scripts\%today%\backup_daily.log echo **************************************************%today%**************************************************>>C:\backup\scripts\now\backup_daily.log "D:\Program Files\ICW\Bin\rsync" -av /cygdrive/c/自动备份/ /cygdrive/c/backup/data/%today%/ --delete >>C:\backup\scripts\now\backup_daily.log "D:\Program Files\ICW\Bin\rsync" -av /cygdrive/c/backup/scripts/now/ /cygdrive/c/backup/scripts/%today%/ >>C:\backup\scripts\now\backup_daily.log echo. >>C:\backup\scripts\now\backup_daily.log pause
输出每天的log文件