RSYNC for WINDOWS 同步 按指定用户身份验证后进行同步数据

环境 : WINDOWS SERVER 2003服务器

目标 :将服务器上的D:\FTP\WEB 里面的网站数据到期同步到本地电脑保存

实现步骤:

(一) 服务器端配置

(1):在服务器端安装 cwRsyncServer_4.0.5_Installer ,装过程中提示输入服务端程序以服务运行时的用户名,密码。可以自定义,也可以用默认的用户名密码设置。

(2):安装完成之后,进入程序安装目录根目录,打开配置文件(如:C:\Program Files\ICW\rsyncd.conf ),进入配置。

以下是我的配置:

#以下两行是新增,不写客户端访问可能报错:@ERROR: invalid uid nobody
uid=0
gid=0
use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
port = 10688 #默认端口873,此配置做了端口限制,开启CWRsync所使用的端口
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[bakweb]
path = /cygdrive/d/ftp/web
read only = false #允许客户端修改或删除
transfer logging = yes
auth users = bakweb # 认证的用户名,如果没有这行,则表明是匿名
secrets file = /cygdrive/c/key/rsyncd.pas #认证文件名

(3) 创建密码验证文件
根据上面的主配置文件的定义 ,须在C:\key 下面创建一个rsyncd.pas的验证文件
格式为:
bakweb:12332145aa
密码文件格式:用户名:密码,一行一个 。此外设置此密码验证文件给rsync这个用户完全控制权限。

(4)给要进行同步的目录 rsync完全控制权限
给 D:\FTP\WEB 的目录rsync用户完全控制权限

(二)客户端口配置和测试

客户端的目录C:\ftp\web目录需要手动创建 ,同步的内容是web文件夹的数据。
客户端需要安装下cwRsync客户端软件 ,我用的是 cwRsync_4.0.5_Installer ,与服务器端保持一样的版本号 。 默认安装即可。
安装完毕之后,以CMD的方式进入到 C:\Program Files\cwRsync\bin 这个路径下面进行测试 , 测试命令行如下:

rsync.exe -zvrtopg --progress --delete bakweb@103.24.207.133::bakweb /cygdrive/c/ftp/web --port=10688 --password-file=/cygdrive/c/key/rsyncd.pas

 

也可以写成下面的样式

rsync.exe -avzP rsync://bakweb@103.24.207.133:10688/bakweb /cygdrive/c/ftp/web --password-file=/cygdrive/c/key/rsyncd.pas

 

在客户端输入上面的同步命令之后,输入同步的密码,就开始数据同步了。

需要注意的地方:
--password-file的验证信息也可以放在客户端存储。

rsync.exe -avzP rsync://bakweb@103.24.207.133:10688/bakweb /cygdrive/c/ftp/web --password-file=/cygdrive/c/key/rsyncd.pas <e:\q.txt

 

需要注意的是在客户端e盘新建一个q.txt文本文档 文档的内容为12332145aa只存放密码,这样的话,在执行上面的同步命令的时候就不用手动输入密码了。这个的好处:rsync任务计划的时候能自动跳过手动输入密码的那一步骤 。

以上 --password-filey选项也可以不用带 。

通过以上操作 ,在客户端执行同步命令的时候都提示 “

rsync: could not open password file "/cygdrive/c/key/rsyncd.pas": No such file o
r directory (2) ” 提示找不到密码认证文件 ,其实文件是存在的 ,此文件存放在服务器端的路径为 c:\key\rsyncd.pas ,且此文件路径有rsync这个服务账号的完全控制权限。 那如何解决这个问题呢 ?
我尝试着在客户端创建相同的文件 c:\key\rsyncd.pas ,然后执行的时候就不提示这个信息了。

相关新闻

联系我们

全国服务热线

400-033-9553

电子邮件:admin@example.com
工作时间:09:00-17:00 周一至周五

在线客服
关注微信
关注微信
分享本页
返回顶部