windows下怎么安装和配置rsync(cwRsync)
Rsync是⼀款不错的⽂件免费同步软件,主要是在Linux上⾯⽤于⽂件同步备份⽤的,也有windows版,windown版就分为免费和付费版本,不过基本上免费版本就可以满⾜⼤部份要求了。
我们要在两台windows服务器之间同步数据如果不想⽤rsync的可以推荐⼤家⽤ GoodSync:
Goodsync (⽂件同步)多国语⾔特别版附注册机 V7.6.88 测试通过
类型:数据同步
⼤⼩:6.35MB
语⾔:简体中⽂
时间:2009-07-21
查看详情
这款软件可以⽀持FTP同步也可以⽀持双向单向。
好了我们还是来介绍⼀下如何在windows下⾯步骤rsync 在 windows下名字叫cwRsync ,分为服务端和客户端这⾥西西提供⼀个整合包给⼤家:
服务器⽂件同步软件服务器端 cwRsyncServer_3.1.0_Installer.zip
类型:数据同步
⼤⼩:3.04MB
语⾔:英⽂软件
时间:2009-09-04
查看详情
第⼀步我们先安装服务端:
下载完提供的整合包,⾥⾯有⼀个服务器的安装程序和⼀个绿⾊的客户端
我们先双击 cwRsyncServer_4.1. 来安装
到这⼀步的时候,他会提⽰您帮你新建⼀个⽤于同步的 Rsync的系统账号,当然你也可以⾃定义⽤户名和密码。
安装完成后rsync会加载以服务的⽅式来运⾏。
在 windows的服务中我们可以看到⼀个 RsyncServer 的服务,安装后他默认是停⽌的您可以⼿动启动,最好把启动类型设为⾃动这样下次如果服务器重启这个软件也会⾃动启动了。
我们现在来说⼀下如何配置服务器⽂件。在您的安装⽬录下可以到⼀个 f 的配置⽂件,这个⽂件和linux下⾯⼀样,您也可以在开始菜单中到这个⽂件的链接
我们先来配置⼀下:
use chroot = false
strict modes = false
lock file = rsyncd.lock
hosts allow = 192.168.1.21
max connections = 5port = 28950
pid = 0
uid = 0
log file = /cygdrive/f/RsyncLog/rsyncd.log# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygdrive/c/work
[cr173com]
path = /cygdrive/d/cr173/
secrets file = /cygdrive/e/Setting/Rsync/rsync_db.psread only = nolist = notransfer logging = yes
以上配置只允许192.168.1.21 访问,这⾥按需修改。如果需要添加多个IP 单个IP地址,例如:192.167.1.1整个⽹段,例如:192.168.1.0/24,也可以是192.168.1.0/255.255.255.0
多个IP或⽹段需要⽤空格隔开,“*”则表⽰所有,默认是允许所有主机连接。
strict modes = false 不验证⽤户密码,
pid = 0,uid = 0指定匿名访问。
auth users :指访问data_backup的⽤户名
secrets file : data_backup⽤户名对应的密码⽂件。
comment:模块的描述性说明
path:指定同步的⽂件⽬录
use chroot:如果"use chroot"指定为true,那么rsync在传输⽂件以前⾸先chroot到path参数所指定的⽬录下。这样做的原因是实现额外的安全防护,但是缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的⽬录⽂件。默认情况下chroot 值为true。
numeric ids
munge symlinks
charset
max connections:指定该模块的最⼤并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。默认值是0,也就是没有限制。
log file:指定rsync的⽇志⽂件
syslog facility:是否使⽤系统⽇志⼯具。可以有如下选项:
auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6 and local7. The default is daemon.
max verbosity
lock file:指定⽀持max connections参数的锁⽂件
read only:该选项设定是否允许客户上载⽂件。如果为true那么任何上载请求都会失败,如果为false并且服务器⽬录读写权限允许那么上载是允许的。默认值为true。
write only:该选项设定是否允许客户下载⽂件。如果为true那么任何下载请求都会失败,如果为false并且服务器⽬录读写权限允许那么下载是允许的。默认值为true。
list:该选项设定当客户请求可以使⽤的模块列表时,该模块是否应该被列出。如果设置该选项为false,可以创建隐藏的模块。默认值是true。
uid:指定传送数据的帐号,仅仅⽤于指定模块。默认是:-2 ,即Nobody 帐号.
gid:指定传送数据的帐号组,仅仅⽤于指定模块。默认是:-2 ,即Nobody 组.
fake super
filter
exclude:⽤来指定多个由空格隔开的多个⽂件或⽬录(相对路径),并将其添加到exclude列表中。这等同于在客户端命令中使⽤--exclude来指定模式,⼀个模块只能指定⼀个exclude选项。但是需要注意的⼀点是该选项有⼀定的安全性问题,客户很有可能绕过exclude列表,如果希望确保特定的⽂件不能被访问,那就最好结合uid/gid选项⼀起使⽤。
include:⽤来指定不排除符合要求的⽂件或⽬录。这等同于在客户端命令中使⽤--include来指定模式,结合include和exclude 可以定义复杂的exclude/include规则。
exclude from:指定⼀个包含exclude模式的定义的⽂件名,服务器从该⽂件中读取exclude列表定义。
include from:指定⼀个包含include模式的定义的⽂件名,服务器从该⽂件中读取include列表定义。
incoming chmod:
outgoing chmod
auth users:设置连接指定模块的授权⽤户名。
secrets file:密码认证⽂件,格式为:username:password
strict modes:该选项指定是否监测密码⽂件的权限,如果该选项值为true那么密码⽂件只能被rsync服务器运⾏⾝份的⽤户访问,其他任何⽤户不可以访问该⽂件。默认值为true。
hosts allow:该选项指定哪些IP的客户允许连接该模块。客户模式定义可以是以下形式:
单个IP地址,例如:192.167.1.1
整个⽹段,例如:192.168.1.0/24,也可以是192.168.1.0/255.255.255.0
多个IP或⽹段需要⽤空格隔开,“*”则表⽰所有,默认是允许所有主机连接。
hosts deny:指定不允许连接rsync服务器的机器,可以使⽤hosts allow的定义⽅式来进⾏定义。默认是没有hosts deny定义。ignore errors:指定rsyncd在判断是否运⾏传输时的删除操作时忽略server上的IO错误,⼀般来说rsync在出现IO错误时将将跳过--delete操作,以防⽌因为暂时的资源不⾜或其它IO错误导致的严重问题。
ignore nonreadable:指定rysnc服务器完全忽略那些⽤户没有访问权限的⽂件。这对于在需要备份的⽬录中有些⽂件是不应该被备份者得到的情况是有意义的。
transfer logging:使rsync服务器使⽤ftp格式的⽂件来记录下载和上载操作在⾃⼰单独的⽇志中。
log format:通过该选项⽤户在使⽤transfer logging可以⾃⼰定制⽇志⽂件的字段。
#The single-character escapes that are understood are as follows:
#%a the remote IP address
#%b the number of bytes actually transferred
#%B the permission bits of the file (e.g. rwxrwxrwt)
#%c the total size of the block checksums received for the basis file (only when sending)
#%f the filename (long form on sender; no trailing "/")
#%G the gid of the file (decimal) or "DEFAULT"
#%h the remote host name
#%i an itemized list of what is being updated
#%l the length of the file in bytes
#%L the string " -> SYMLINK", " => HARDLINK", or "" (where SYMLINK or HARDLINK is a filename)
#%m the module name
#%M the last-modified time of the file
#%n the filename (short form; trailing "/" on dir)
#%o the operation, which is "send", "recv", or "del." (the latter includes the trailing period)
#%p the process ID of this rsync session
#%P the module path
#%t the current date time
#%u the authenticated username or an empty string
#%U the uid of the file (decimal)
#For a list of what the characters mean that are output by "%i", see the --itemize-changes option in t
he rsync manpage. timeout:该选项可以覆盖客户指定的IP超时时间。通过该选项可以确保rsync服务器不会永远等待⼀个崩溃的客户端。超时单位为秒钟,0表⽰没有超时定义,这也是默认值。对于匿名rsync服务器来说,⼀个理想的数字是600。
refuse options:通过该选项可以定义⼀些不允许客户对该模块使⽤的命令参数列表。这⾥必须使⽤命令全名,⽽不能是简称。但发⽣拒绝某个命令的情况时服务器将报告错误信息然后退出。如果要防⽌使⽤压缩,应该是:"dont compress = *"。dont compress:指定那些不进⾏压缩处理再传输的⽂件,默认值是*.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
以上为rsync 官⽅的关于rsync配置⽂件中的所有配置选项。中⽂是我⾃⼰翻译解释的,有些选项还没翻译解释,主要是因为还没有完全理解透彻官⽅的英⽂解释。
root:root
admin:12345
密码⽂件格式:⽤户名:密码,⼀⾏⼀个,有的系统不⽀持长密码,另个密码⽂件的权限对其它⽤户组是不可读的,设置错了可能不⼯作。在Windows下,密码⽂件的访问权限⼀定要设置正确,不然⽤户验证的时候通不过。应将密码⽂件
E:\Setting\Rsync\rsync_db.ps的权限加⼊Rsycn服务运⾏服务的⽤户名 cwRsyncServer 的读取权限及设置其为该⽂件为所有者。
4. 在服务管理器中,到服务 RsyncServer 服务,并启动服务。
5. 如果开启了防⽕墙,则防⽕墙规则中要添加Tcp端⼝ 28950 允许通信。
6. 服务验证,打开dos命令框,输⼊telnet 192.168.1.20 28950 (如果没有安装telnet服务端与客户端,请在控制⾯板->添加删除程序->打开关闭windows功能中到Telnet客户端和服务端,勾选进⾏安装)。如果telnet能成功连接,出现@RSYNCD: 30.0 等类似⽂字,则说明服务启动正常。
1. 安装Rsync客户端程序,直⾄安装完成。
2. 测试服务器Rsync的连通性。在Rsync客户端所在计算机telnet Rsync服务端所在计算的相应地址和端⼝
telnet 192.168.1.20 28950
出现@RSYNCD: 30.0 等类似⽂字,则说明客户端连接服务端正常。
3. 打开Dos命令窗⼝,进到Rsync客户端安装⽬录的bin⽬录下,如:C:\Program Files\cwRsync\bin\。输⼊以下命令,开始进⾏同步:
rsync --port=28950 -vzrtopg --progress --delete 192.168.1.20::data_backup /cygwin/f/dataBackup --password-
file=/cygdrive/e/Setting/Rsync/rsync_db.pssession如何设置和读取
这⾥需要注意⼀下: /cygwin/f/dataBackup 如果后⾯不加 / 就针把 dataBackup 在服务端那边再重新建⼀下如果带 / 就指把这⽬录下的⽂件传到服务器上
另外还有⼀个必须要注意的是
rsync --port=28950 -vzrtopg --progress --delete --password-file=/cygdrive/e/Setting/Rsync/rsync_db.ps
这个指本地⽂件同步到服务器
rsync --port=28950 -vzrtopg --progress --delete --password-file=/cygdrive/e/Setting/Rsync/rsync_db.ps
这个指服务器上的⽂件下载到本地
--port=28950 # 端⼝-vzrtopg --progress # 显⽰同步过程详细信息--delete # 从客户端⽬录中删除与服务端⽬录中不同的数据,保证两边数据完全⼀致/cygwin/f/dataBackup # Window下⽬录F:\dataBackupdata_backup # 服务端配置⽂件f⽂件中定义的模块名称192.168.1.20 # Rsync服务端IP地址
设置该命令⽂件的⽤户需要添加密码⽂件的读取权限及加其为⽂件所有者。如下:
rsync参数的具体解释如下:
官⽅的英⽂解释:/ftp/rsync/rsync.html
-v, --verbose 详细模式输出
-q, --quiet 精简输出模式
-c, --checksum 打开校验开关,强制对⽂件传输进⾏校验
-a, --archive 归档模式,表⽰以递归⽅式传输⽂件,并保持所有⽂件属性,等于-rlptgoD
-
r, --recursive 对⼦⽬录以递归模式处理
-R, --relative 使⽤相对路径信息
-b, --backup 创建备份,也就是对于⽬的已经存在有同样的⽂件名时,将⽼的⽂件重新命名为~filename。可以使⽤--suffix选项来指定不同的备份⽂件前缀。
--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 保持⽂件属组信息
-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⼀样的⽅法⾃动忽略⽂件,⽤来排除那些不希望传输的⽂件
-
-existing 仅仅更新那些已经存在于DST的⽂件,⽽不备份那些新创建的⽂件
--delete 删除那些DST中SRC没有的⽂件
--delete-excluded 同样删除接收端那些被该选项指定排除的⽂件
--delete-after 传输结束以后再删除
--ignore-errors 即使出现IO错误也进⾏删除
--max-delete=NUM 最多删除NUM个⽂件
--partial 保留那些因故没有完全传输的⽂件,以是加快随后的再次传输
--force 强制删除⽬录,即使不为空
--numeric-ids 不将数字的⽤户和组ID匹配为⽤户名和组名
--timeout=TIME IP超时时间,单位为秒
-I, --ignore-times 不跳过那些有同样的时间和长度的⽂件
-
-size-only 当决定是否要备份⽂件时,仅仅察看⽂件⼤⼩⽽不考虑⽂件时间
--modify-window=NUM 决定⽂件是否时间相同时使⽤的时间戳窗⼝,默认为0
-T --temp-dir=DIR 在DIR中创建临时⽂件
--compare-dest=DIR 同样⽐较DIR中的⽂件来决定是否需要备份
-P 等同于 --partial
--progress 显⽰备份过程
-z, --compress 对备份的⽂件在传输时进⾏压缩处理
--exclude=PATTERN 指定排除不需要传输的⽂件模式

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。