本文共 3352 字,大约阅读时间需要 11 分钟。
linux和windows同步数据,rsync server cwrsync client linux server 一般系统都自带rsync,如果没有就挂载系统盘自己安装一下,安装挺简单的不用我再多说了 vi /etc/rsyncd.conf uid = daemon //这个用户是系统用户,当rsync客户端连接上服务器后,会映射成这个用户上传或者下载文件 gid = daemon //组名,效果同上 log file = /var/log/rsyncd.log //rsync的日志文件保存位置 max connections = 5 //最大允许的并发链接是5 hosts allow = 192.168.1.0/24 //只允许指定网段的地址链接服务器 hosts deny = * //拒绝其他所有的链接 list = yes //用户具有list目录的权限 auth users = test //rsync的用户名,这个用户是客户端使用的,链接服务器成功后会映射成上面的daemon用户 read only = no //不是只读模式,这样用户就有上传的权限了 write only = yes //不允许用户下载 secrets file = /etc/rsync.pass //rsync用户的密码文件保存位置 [test] //服务端的模块,客户端登录时候需要指定 path = /home/test //test模块的绝对路径 vi /etc/rsync.pass test:test //前面是用户名,后面是密码中间用冒号分割 chmod 600 /etc/rsync.pass //修改密码文件的权限 mkdir /home/test chown daemon.daemon /home/test windows client 下载cwrsync的安装包 可以从这个网站获取到 http://sourceforge.net/projects/sereds/files/cwRsync 然后创建一个install.bat的脚本 @echo off cd C:\Program Files\WinRAR rar.exe e -o+ "%HOMEPATH%"\桌面\test.rar "%HOMEPATH%"\桌面\ cd "%HOMEPATH%"\桌面\ echo "C:\Program Files\cwRsync\bin\rsync.exe" -vzrtopg --progress --exclude=Recycled --exclude=RECYCLER --exclude="System Volume Information" --password-file=/cygdrive/C/"Program Files"/cwRsync/bin/rsync.pass /cygdrive/d/ test@192.168.1.1::test > C:"\Program Files"\cwRsync\bin\rsync.bat echo test > C:"\Program Files"\cwRsync\bin\rsync.pass "C:\Program Files\cwRsync\bin\chmod.exe" 600 "/cygdrive/C/Program Files/cwRsync/bin/rsync.pass" at 12:00 /interactive /every:m,t,w,th,f "C:\Program Files\cwRsync\bin\rsync.bat" 下面是详细的介绍: cd C:\Program Files\WinRAR rar.exe e -o+ "%HOMEPATH%"\桌面\test.rar "%HOMEPATH%"\桌面\ cd "%HOMEPATH%"\桌面\ #以上三行主要是解压test.rar的压缩包 cwrsync.exe #调用cwrsync的安装主程序,根据提示一路下一步就可以,没有需要注意的地方 echo "C:\Program Files\cwRsync\bin\rsync.exe" -vzrtopg --progress --exclude=Recycled --exclude=RECYCLER --exclude="System Volume Information" --password-file=/cygdrive/C/"Program Files"/cwRsync/bin/rsync.pass /cygdrive/d/ test@192.168.1.1::test > C:"\Program Files"\cwRsync\bin\rsync.bat #上面这句话会生成一个上传文件的脚本,具体内容如下: #echo 是打印内容 #C:\Program Files\cwRsync\bin\rsync.exe cwrsync的主程序路径 #-vzrtopg #-v, --verbose 详细模式输出 #-z, --compress 对备份的文件在传输时进行压缩处理 #-r, --recursive 对子目录以递归模式处理 #-t, --times 保持文件时间信息 #-o, --owner 保持文件属主信息 #-p, --perms 保持文件权限 #-g, --group 保持文件属组信息 #--progress 显示备份过程 #--exclude 是排除的意识,我的范例中排除了三个目录 #--passwrod-file 密码文件的存放路径 #/cygdrive/d/ 本地的路径,我这里是D盘,前面cygdrive必须要跟上,要不cwrsync无法识别你的路径 #test@172.16.6.165::test 目标地址,第一个test是用户名@后面是server的地址::后面是servier端的模块名,在rsyncd.conf文件中定义过 #> 重定向和linux系统一样的用法 #C:"\Program Files"\cwRsync\bin\rsync.bat 将以上的内容重定向到rsync.bat这个文件中 #更多的信息可以查看rsync的帮助 echo test > C:"\Program Files"\cwRsync\bin\rsync.pass #这句话是生成密码文件,密码的存放路径,密码是test,密码文件不需要用户名,只有密码就可以了 "C:\Program Files\cwRsync\bin\chmod.exe" 600 "/cygdrive/C/Program Files/cwRsync/bin/rsync.pass" #使用cwrsync自带的chmod给密码文件赋予600的权限,一定要注意格式,这里是模拟了linux的用法,不要搞错了,注意两点一个是cygdrive和反斜线 at 12:00 /interactive /every:m,t,w,th,f "C:\Program Files\cwRsync\bin\rsync.bat" #win自带的一个服务,将添加我们创建的脚本到任务计划,注意这个任务计划的作者是system用户 #at是命令,必须保证task scheduler服务是启动的 12:00任务计划在12点执行,/interactive任务计划和桌面有交互,用户能看见弹出的cmd窗口 #/every:m,t,w,th,f 周一至周五执行任务计划 "C:\Program Files\cwRsync\bin\rsync.bat"命令具体路径 #关于at的更多用法大家还是多看看帮助文件吧 将下载回来的cwrsync.exe和我们的install.bat压缩到一起,压缩名是text.rar,客户端就制作完成了,可以发布给客户使用,其中的细节根据自己的情况作修改吧 本文转自 走在右边 51CTO博客,原文链接:http://blog.51cto.com/gsliuyang/365460,如需转载请自行联系原作者