巧用Rsync成功实现多台Windows工作电脑资料同步Word文档下载推荐.docx
《巧用Rsync成功实现多台Windows工作电脑资料同步Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《巧用Rsync成功实现多台Windows工作电脑资料同步Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
默认是手动启动,你可以把它设置成自动,随服务器启动并运行在后台。
安装升级:
很简单,把升级包解压,再吧里边的rsync.exe文件覆盖到安装目录下bin的同名文件即可。
好了,现在来说说配置了!
由于Rsync是从Linux跟Unix上移植过来Windows的。
所以其没有图形界面,一切工作控制都要用配置文件来完成。
我们先来设置Server端的。
如果按上边提到的2种配置选择来说,rsync服务端的配置不管是WinXP还是Win2003都基本是一样的.只是有一些人性化的细节方面我后边会提到.
打开位于D:
/ProgramFiles/cwRsyncServer下的rsyncd.conf
usechroot=false
strictmodes=false
hostsallow=*
logfile=rsyncd.log
pidfile=rsyncd.pid
#上边这部分不用管,看下边的.
#刚刚安装完成,下边原本会是个Test,全部删掉!
我们自己来添加新的.
[Documents]#同步项目(可自定)
path=/cygdrive/h/Documents/#文件存放位置
readonly=false#允许客户端上传文件,只读关闭
transferlogging=yes#访问询问账号密码
authusers=qbanke#账号qbanke(可以自定)
secretsfile=etc/pwd.conf#账号的密码,需自己创建。
#以上的配置是我用于同步工作用的文档
把修改好的rsync.conf保存
自己在D:
/ProgramFiles/cwRsyncServer下创建一个文件夹etc并且在里边创建一个名为pwd.conf的密码明文,格式是。
qbanke:
123456
qbanke是用户账号,冒号后边的是密码.
保存后,如果是win2003系统,就要设置权限把这个文件的所有用户可读权限都删掉。
不然Rsync检测到该文件权限过低就会因安全拒绝连接。
不给你发数据。
还没行!
!
.要顺利启动,你还需要设置一下用户存放项目的文件夹的权限.
刚才配置的这个path=/cygdrive/h/Documents/#文件存放位置
意思是从盘(就是除C盘以外)盘符h(H:
/)下的Documents整个意思就其实是(h:
/Documents),当然盘符跟文件夹都可以你自己来建跟修改.
权限设置很重要,决定你RsyncServer与客户端能不能很顺利地取读以及同步数据.
在Win2003下,要确保在安装过程中自动建立的那个SvcwRsync用户对该文件夹有完全控制的权限。
因为rsync在系统中读写数据时用的是这个用户账号。
而WinXP就有点麻烦了,不能像2003一样单独设置文件夹的权限,所以要巧妙地使用"
共享"
来实现。
右键点Documents选择属性,共享,完全共享(可读写)。
如果你不想共享后其他电脑通过局域网来查看你共享文件夹的内容,你要再多一步。
到控制面板,管理工具,计算机管理,本地用户和组,隔壁的Guest,右键点击,属性,把账户已停用的沟打上即可。
然后你总算可以在服务里头把rsync启动了。
还要说一点的,rsync在WinXP中安装的时候也是创建了一个SvcwRsync的用户。
WinXP跟2003的区别,就是它默认是使用"
欢迎屏幕"
登陆的。
当你重启或者注销后,你就会看到账户选择上多了个SvcwRsync。
很碍眼!
咋办?
把它跟其他系统账户一样,隐藏掉!
!
下边是方法:
在WindowsXP的欢迎屏幕上,默认情况下会显示除Administrator外的所有本地用户名。
如果您想在欢迎屏幕显示Administrator账户,可以打开注册表编辑器,定位到“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/Winlogon/SpecialAccounts/UserList”,在右侧的窗口中找到以Administrator命名的键(如果没有可以自己建立。
右键,新建,DWORD值),双击,将键值由0改为1,退出后重新启动计算机。
这样,Administrator账户就可以在欢迎屏幕上显示了。
同理,如果您想隐藏某个用户,可以在上面提到的位置新建一个以您想隐藏的用户为名的键,然后把值设置成0,重启机器,这个用户就从欢迎屏幕上隐藏起来了。
-----------------
所以我说,winXP干数据同步这事还是不专业啊,问题多。
幸好还是能解决掉。
下边就轮到客户端的设置了。
(笔记本或工作站台式机)
客户端的安装我觉得其实就是个解压,解压后任由你往哪里扔都行了。
最重要是它的运行方法,要用批处理命令。
我们把客户端扔在D:
/rsync_Kaiser/
在目录下新建一个新建一个文本文档.txt改名成Documents_bak.bat
在里边添加内容:
d:
/rsync_Kaiser/bin/rsync.exe-vrtopg--exclude=desktop.ini--exclude=Desktop.ini--exclude=Thumbs.db--exclude=RECYCLER--progress--password-file=etc/pwd.conf/cygdrive/e/Documentsqbanke@192.168.3.3:
:
Documents
#意思是
#执行d:
/rsync_Kaiser/bin/rsync.exe
#-vrtopg这个是运行参数,可以查看下边的参数列表。
#-exclude=desktop.ini--exclude=Desktop.ini--exclude=Thumbs.db--exclude=RECYCLER这些也是运行参数,意思是把=号后边的文件屏蔽掉,不做同步.
#--progress在程序执行的时候屏幕窗口上显示详细的运作信息,例如整在同步那个文件,速度多少。
#-password-file=etc/pwd.conf跟服务器端一样,指定密码文件的路径,以便在自动运行的时候不用手动来输入.
#/cygdrive/e/Documentsqbanke@192.168.3.3:
Documents本地文件夹e:
/盘上Documents所有的内容(路径自己根据不情况进行修改)将和服务端ip地址192.168.3.3的Documents存储目录同步。
然后也要跟服务端一样,在当然目录新建一个etc文件夹再新建一个名为pwd.conf的文本文件.
但里边的内容只需单独填写跟服务器里头配置文件相对应的密码即可,不用填用户名.123456
保存,设置权限!
.XP上什么都不用动.但如果你的操作系统是VISTA商业版,或者Ultra版,就要好像Win2003一样,把改文件的所有可访问用户都干掉.
好,说到这里.希望你是一位技术不赖的网管,能把上边的都能集合自己的经验看明白吧.
服务端跟客户端的配置都完成了,可以试试执行。
如果出现任何错,最大一个可能第一是权限没弄好,目录的,密码文件的。
第二就是配置有误,客户端的没跟服务器的对应好,账号或者存储目录名。
现在客户端所配置的选项是单向的数据上传同步。
意思是检测服务端跟客户端文件的差异,再决定要上传,更新服务器哪些文件。
如果客户端存在比服务器多的文件,即上传。
如果客户端存在比服务器要新的文件,即覆盖。
如果客户端的文件相比服务器的要缺少,即跳过。
(不跳过也行!
你可以在客户端参数中-vrtopg的后边加入--delete来实现同步删除.慎用!
)
对了!
还要说一说!
.要注意路径的斜杠。
很重要!
/cygdrive/e/Documents/qbanke@192.168.3.3:
这个写法,会吧e:
/盘下Documents所有文件都同步到服务器Documents当前目录下边
/cygdrive/e/Documentsqbanke@192.168.3.3:
这个Documents后少了个斜杠!
就会把e:
/盘下Documents同步到服务器Documents当前目录下边Documents的文件夹内。
就是说他会再建一个文件夹。
我的做法是,在客户端执行的bat程序中定制2行命令。
一行是上边那个用于上传的。
一行是下边这个用户下载的。
这样就能让客户端也能及时更新到服务器上新修改或者创建的文件了。
/rsync_Kaiser/bin/rsync.exe-vrtopg--exclude=desktop.ini--exclude=Desktop.ini--exclude=Thumbs.db--exclude=RECYCLER--progress--password-file=etc/pwd.confqbanke@192.168.3.3:
Documents//cygdrive/e/Documents
其实就仅仅把上传命令的最后2段反了过来。
再改了一下斜杠的位置。
客户端下载的规则其实是跟上传一样的,就是一个对上,一个对下。
检测服务器里边那些文件跟本地的大小跟创建时间有差异,选择新的那个覆盖客户端旧文件。
上传跟下载2行命令+起来,即可完成完整的数据同步任务。
即:
A笔记本今天工作完成,把新文件上传至服务器。
并检测服务器上有没新的文件更新。
有就下载。
B工作站(或者台式机)打开,获取来自服务器端的新文件,并且检测本地有没新的文件更新,有就上传。
B工作站对文件做进一步修改,完成后再次运行同步程序,回传到服务器(如果是第一种方案的话就不用了)。
A笔记本运行同步程序,把工作站最新修改的文件以及最新上传的文件一并同步到本地。
怎样?
你还可以把同步的.bat程序发送快捷方式到桌面.并改一个好看的图标.
每天工作完成下班回家,笔记本接入家里的局域网后,就用鼠标点一下~!
同步自动检测并自动运行.
你可以去睡一下,煮饭,看电视什么的.不用再在电脑上再折腾多几十分钟去整理了.
Rsync的服务端配置里头的储存目录不止写一个的,还可以添加多个存放不同的文件夹或者不同的硬盘.
像我的就是:
[Documents]
path=/cygdrive/h/Documents/
readonly=false
transferlogging=yes
authusers=qbanke
secretsfile=etc/pwd.conf
#工作用文档
[photo]
path=/cygdrive/h/photo/
readonly=false
transferlogging=yes
#存放摄影作品的文件夹
[soft]
path=/cygdrive/h/Soft/
#存放软件的文件夹
另外我的邮箱是[url=mailto:
qbanke@]qbanke@[/url]如果遇到问题可以发邮件来问我.
以下附上rsync客户端命令参数详解
-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=TIMEIP超时时间,单位为秒
-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指定排除不需要传输的文件模式
--include=PATTERN指定不排除而需要传输的文件模式
--exclude-from=FILE排除FILE中指定模式的文件
--include-from=FILE不排除FILE指定模式匹配的文件
--version打印版本信息
--address绑定到特定的地址
--config=FILE指定其他的配置文件,不使用默认的rsyncd.conf文件
--port=PORT指定其他的rsync服务端口
--blocking-io对远程shell使用阻塞IO
-stats给出某些文件的传输状态
--progress在传输时现实传输过程
--log-format=formAT指定日志文件格式
--password-file=FILE从FILE中得到密码
--bwlimit=KBPS限制I/O带宽,KBytespersecond
-h,--help显示帮助信息
Rsync/cwRsync
在windows与windows服务器之间的同步设置
一、windows与windows同步
1.准备两台机器:
server-----192.168.0.201
client-----192.168.0.202
2.下载windows版的rsync工具
3.安装与配置
SERVER:
(1)安装cwRsync_Server_2.0.10_Installer.zip
在开始程序中打开“startaunixbashshell”程序:
进入一个类似cmd的终端,输入如下命令:
$/bin/activate-user.sh
输入l
输入administrator
后面全按回来结束
(2)启动opensshd
打开“控制面板”-->“管理工具”-->“服务”:
找到一个opensshd的服务,启动它
(3)配置rsyncd.conf配置文件
编辑C:
/ProgramFiles/cwRsyncServer/rsyncd.conf,内容如下:
usechroot=false
strictmodes=false
hostsallow=*
logfile=rsyncd.log
pidfile=rsyncd.pid
#Moduledefinitions
#Remembercygwinnamingconventions:
c:
/workbecomes/cygwin/c/work
[rsync]
path=/cygdrive/f/rsync(此处路径代表f:
/rsync目录)
readonly=yes
transferlogging=yes
secretsfile=/cygdrive/f/rsyncd.secrets
(4)启动rsync服务
找到一个RsyncServer的服务,启动它
到此server端配置结束,接下来配置client端。
CLIENT:
(1)安装client端软件包:
cwRsync_2.0.10_Installer.zip
(2)打开cmd,执行如下操作,测试服务端是否正常启动服务了:
cdC:
/ProgramFiles/cwRsync/bin
telnet192.168.0.20122
telnet192.168.0.201873
若上述测试成功,此时可执行同步计划:
rsync-vzrtopg--progress--delete192.168.0.201:
rsync/cygdrive/d/test
或者是:
rsync-vzrtopg--progress--delete192.168.0.201:
/cygdrive/d/rsync/cygdrive/d/test
(此时,会提示输入密码,用户名为administrator,密码则为192.168.0.201的管理员登录密码)
至此,安装配置windows到windows间的同步已经OK
如果定时同步server上的文件,可将其加入任务计划中。
二、windows作为server时与linux间的同步
1、准备机器,此时使用windows作为server
server---192.168.0.201(windows)
client---192.168.0.132(linux)
2、经过上文的操作,此时可简化操作了
进入linux主机client同步server:
#rsync-vzrtopg--progress--delete192.168.0.201:
rsync/test
三、linux作为server时与windows间的同步
1、准备机器,此时使用linux作为server
server---192.168.0.132(linux)
client---192.168.0.202(windows)
2、安装与配置linux主机的rsync
(1)查看linux上是否安装rsync: