实验环境

 

服务端:Linux Centos 6.8 (10.208.131.198)

客户端:windows 2008 (10.208.131.199)

 

服务端

一、安装rsync服务 设置开机自启动

# yum install xinetd rsync -y # chkconfig xinetd on# chkconfig rsync on

二、设置rsync以服务方式运行

# vim /etc/xinetd.d/rsyncservice rsync{        disable         = no     //(默认为YES)        flags           = IPv6        socket_type     = stream        wait            = no        user            = root        server          = /usr/bin/rsync        server_args     = --daemon        log_on_failure  += USERID}

三、启动rsync服务 查看端口是否开启

# service xinetd start# netstat -tanp |grep 873tcp       0      0 :::873                      :::*                        LISTEN      1593/xinetd

 四、配置rsyncd.conf  (需要手工创建)

# vim /etc/rsyncd.confuid = root                            //运行RSYNC守护进程的用户gid = root                            //运行RSYNC守护进程的组use chroot = no                       //切换到Path所制定的目录下 默认为Truepid file = /var/run/rsyncd.pid        //pid文件的存放位置lock file = /var/run/rsync.lock       //锁文件的存放位置log file = /var/log/rsyncd.log        //日志文件的存放位置max connections = 3                   //最大客户端连接数3stirict modes = yes                   //是否检查口令的权限port = 873                            //rsync默认端口[testshare]                           //认证的模块名 在客户端需要指定path = /share/                        //参与同步的目录ignore errors                         //可以忽略一些无关的IO错误read only = no                        //允许可读可写list = no                             //不允许列出清单hosts allow = 10.208.131.1.199        //允许同步的主机 拒绝其他一切auth users = admin                    //认证的用户名secrets file =/etc/rsyncd.pass        //密码文件存放地址

五、创建数据同步的目录

# mkdir /share

六、创建用户名和密码给予权限 并重启rsync服务

# vim /etc/rsyncd.passAdmin:123456       //格式为 user:passwd 为一行# chmod 600 /etc/rsyncd.pass# chown root.root /etc/rsyncd.pass# service xinetd restart

客户端

一、Windows主机客户端安装与配置

下载地址   (5.5版本) 绿色版

 5.5版本直接解压 在cmd命令行下切换到bin下可以用

5.5的版本需要自己添加一个账户

4.0.5有服务端和客户端版本

4.0.5客户端版本没有chmod和chown这两个命令需要从服务端拷贝

5.5服务端是收费的

5.5的客户端是有chmod和chown程序的

服务器和客户端账户和密码必须为一致 创建账号admin 密码123456

创建同步密码 不需要账户只需要密码

新建一个文本文档   将密码写入后改名为rsyncd.pass

密码文件在哪都可以同步的时候指定密码文件位置就好了

给密码文件权限进行设置

C:\Users\Administrator>D:D:\>cd /ICW/Bin/D:\ICW\Bin>chmod.exe -c 600 /cygdrive/d/ICW/rsyncd.passmode of `/cygdrive/d/ICW/rsyncd.pass' changed to 0600 (rw-------)D:\ICW\Bin>chown.exe administrator /cygdrive/d/ICW/rsyncd.pass

环境变量设置

计算机属性 --> 高级系统设置 --> 环境变量 --> 系统变量 --> Path --> 末尾添加D:\ICW\Bin;

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\ICW\Bin;

 

关掉cmd命令行重新打开输入rsync回车   会出来rsync的帮助信息  已经生效

测试是否可以同步

在Linux同步的目录里创建文件 并在WindowsE盘创建share目录

C:\Users\Administrator>rsync -vzrtopg --progress admin@10.208.131.198::testshare /cygdrive/e/share --password-file=/cygdrive/d/ICW/rsyncd.pass-v 详细模式输出-z, --compress                   //对备份的文件在传输时进行压缩处理。-r, --recursive                  //对子目录以递归模式处理。-t, --times                      //保持文件时间信息。-o, --owner                      //保持文件属主信息。-p, --perms                      //保持文件权限。-g, --group                      //保持文件属组信息。--delete                         //删除目标中源文件没有的文件或目录--progress                       //显示备份过程。/cygdrive/e/share E盘下的share   /cygdrive/必须加的--password-file=rsyncd.pass      //从rsyncd.pass得到密码

计划任务

 

由于设置了环境变量 直接将上边的命令写到文本文档 改名为.bat或者.cmd文件 放到任务计划里就可以了

  

测试结果