1、13141516171819202122usechroot=false#不使用chrootstrictmodes#静态模式hostsallow*#所有IP均可logfilersyncd.log#log文件名,可以指定路径pidrsyncd.pid#pid文件名,可以指定路径port8173#默认端口873uid0#不指定uid,不加这一行将无法使用任何账户gid#不指定gidmaxconnections10#最大连接数10#ModuledefinitionsRemembercygwinnamingconventions:c:workbecomes/cygwin/c/workSVNpath/cy
2、gdrive/d/Repositories#需要备份的路径(D盘www/huweishen目录)readonly#只读transferloggingyes#记录传输日志ignoreerrors#忽略无关的IO错误listno#不列文件表192.168.1.0/255.255.255.0#允许访问的IPdeny#不允许hostsallow以外的任何IP访问authusersSvcCWRSYNC#认证用户名(Windows系统必须存在此用户)secretsrsync.password#认证用户的用户名和密码存储位置 2、在cwRsyncServer的安装目录下,使用记事本程序建立一个rsync.p
3、assword的文件,在里面添加用户名和密码等信息,格式如下:认证用户名:刚才记录下来的密码 SvcCWRSYNC:J1yv3SIZe3m56f注:用户名是可以重新指定的,但是要在该用户名和密码建立的前提下才可以。 3、在windows服务列表中,启动“RsyncServer”服务,为了使使用方便,你可以将RsyncServer服务的属性修改为自动启动,然后在使用netstatan命令看8173端口被监听没。图二:启动RsyncServe服务 4、再将RsyncServer添加到windows防火墙默认列表中,以免在使用的时候被防火墙阻止,产生莫名的错误。添加方法在允许列表中添加:“C:Pro
4、gram Files (x86)ICWbinrsync.exe”,并在:“Control PanelAll Control Panel ItemsWindows FirewallCustomize Settings”中将:“Public network location settings”设置成关闭即可。四、客户端的配置 1、在客户端的安装目录下建立一个rsync.password文件,在文件中输入服务器端指定用户的密码,如下图所示:(客户端只需要填写密码即可)图三:客户端创建.password文件2、cwRsync简单使用实例:打开dos窗口,由于必须要在rsync.exe所在目录下运行命令
5、,所以先cd到cwRsync的bin目录下,然后在执行命令:cdC:ProgramFilescwRsyncbinrsync.exe-avzP-progress-delete-password-file=/cygdrive/c/SvcwRsync.psp.txt3、添加定时任务首先配置一个批量处理脚本rsync.bat内容如下:(放到客户端安装目录的bin文件下)echooffsetRSYNC_HOME=FilescwRsyncbin%RSYNC_HOME%-password-file=/cygdrive/c/rsync.passwordp.txtadministrator192.168.1.1
6、0:SVN/cygdrive/e/SvnBackupData#说明,p.txt部分后面错误总结会讲到。附录一:cwRsync命令参数详解-v, -verbose详细模式输出-q, -quiet精简输出模式-c, -checksum打开校验开关,强制对文件传输进行校验-a, -archive归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD-r, -recursive对子目录以递归模式处理-R, -relative使用相对路径信息-b, -backup创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为filename。可以使用-suffix选项来指定不
7、同的备份文件前缀。-backup-dir将备份文件(如filename)存放在在目录下。-suffix=SUFFIX定义备份文件前缀-u, -update仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)-l, -links保留软链结-L, -copy-links想对待常规文件一样处理软链结-copy-unsafe-links仅仅拷贝指向SRC路径目录树以外的链结-safe-links忽略指向SRC路径目录树以外的链结-H, -hard-links保留硬链结-p, -perms保持文件权限-o, -owner保持文件属主信息-g, -group保持
8、文件属组信息-D, -devices保持设备文件信息-t, -times保持文件时间信息-S, -sparse对稀疏文件进行特殊处理以节省DST的空间-n, -dry-run现实哪些文件将被传输-W, -whole-file拷贝文件,不进行增量检测-x, -one-file-system不要跨越文件系统边界-B, -block-size=SIZE检验算法使用的块尺寸,默认是700字节-e, -rsh=COMMAND指定使用rsh、ssh方式进行数据同步-rsync-path=PATH指定远程服务器上的rsync命令所在路径信息-C, -cvs-exclude使用和CVS一样的方法自动忽略文件,
9、用来排除那些不希望传输的文件-existing仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件删除那些DST中SRC没有的文件-delete-excluded同样删除接收端那些被该选项指定排除的文件-delete-after传输结束以后再删除-ignore-errors及时出现IO错误也进行删除-max-delete=NUM最多删除NUM个文件-partial保留那些因故没有完全传输的文件,以是加快随后的再次传输-force强制删除目录,即使不为空-numeric-ids不将数字的用户和组ID匹配为用户名和组名-timeout=TIME IP超时时间,单位为秒-I, -ignore
10、-times不跳过那些有同样的时间和长度的文件-size-only当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间-modify-window=NUM决定文件是否时间相同时使用的时间戳窗口,默认为0-T -temp-dir=DIR在DIR中创建临时文件-compare-dest=DIR同样比较DIR中的文件来决定是否需要备份-P等同于 -partial显示备份过程-z, -compress对备份的文件在传输时进行压缩处理-exclude=PATTERN指定排除不需要传输的文件模式-include=PATTERN指定不排除而需要传输的文件模式-exclude-from=FILE排除FIL
11、E中指定模式的文件-include-from=FILE不排除FILE指定模式匹配的文件-version打印版本信息-address绑定到特定的地址-config=FILE指定其他的配置文件,不使用默认的rsyncd.conf文件-port=PORT指定其他的rsync服务端口-blocking-io对远程shell使用阻塞IO-stats给出某些文件的传输状态在传输时现实传输过程-log-format=formAT指定日志文件格式-password-file=FILE从FILE中得到密码-bwlimit=KBPS限制I/O带宽,KBytes per second-h, -help显示帮助信息附
12、录二:Rsync使用时的常见问题错误1:rsync: read error: Connection reset by peer (104)rsync error: error in rsync protocol data stream (code 12) at io.c(794) receiver=3.0.2解决:很大可能是服务器端没有开启 rsync 服务。开启服务。或者开启了防火墙指定的端口无法访问。错误2:ERROR: chdir failed error starting client-server protocol (code 5) at main.c(1495) receiver=
13、3.0.2服务器端同步目录没有权限,cwrsync默认用户是Svcwrsync。为同步目录添加用户Svcwrsync权限。错误3: failed to open lock file服务器端配置文件 rsyncd.conf中添加 lock file = rsyncd.lock 即可解决。错误4: invalid uid nobody error starting client-server protocol (code 5) at main.c(1506) Receiver=3.0.2在rsyncd.conf文件中添加下面两行即可解决问题UID = 0GID = 0错误5: auth faile
14、d on module test2 error starting client-server protocol (code 5) at main.c(1296) receiver=3.0.2服务端没有指定正确的secrets file,请在 test2配置段添加如下配置行:auth users = coldstar #同步使用的帐号secrets file = rsyncd.secrets #密码文件错误6:password file must not be other-accessible客户端的pass文件要求权限为600, chmod 600 /etc/rsync.pass 即可。错误7
15、: chdir /cygdrive/c/work failed No such file or directory (2)服务器端同步文件夹路径或名称写错了,检查path。错误8:password file must be owned by root when running as root将:rsync.exe -avzP -progress -delete -password-file=/cygdrive/c/rsync.password administrator192.168.1.10:SVN修改成:rsync.exe -avzP -progress -delete -password-file=/cygdrive/c/rsync.password注意:p.txt里的内容必须跟“rsync.password”文件里的内容一样。“rsync.password”这个文件是客户端的密码文件。并且p.txt文件要和rsync.exe文件在同一个目录下。=rsyncserver服务启动时报错“rsyncserver服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如“性能日志和警报”服务。”解决方法:将安装目录下的rsyncd.pid文件删除,再重新启动RsyncServer服务。一般是异常关机导致的。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1