一、linux服务端: 1、iptable放行873 systemctl stop firewalld systemctl disabled firewalld yum install iptables* -y iptables -X iptables -F iptables -A INPUT -p tcp --dport 873 -j ACCEPT
service iptables save 2、新建rsyncd.paswd #少一个s vim /etc/rsyncd.paswd #少一个s rsyncer:123 3、给rsyncd.paswd授权600. #少一个s chmod 600 /etc/rsyncd.paswd #少一个s 4、修改rsyncd.conf配置文件 vim /etc/rsyncd.conf uid = root gid = root use chroot = yes max connections = 4 pid file = /var/run/rsyncd.pid exclude = lost+found/ transfer logging = yes timeout = 900 ignore nonreadable = yes

[ftp] path = /tmp/mysql comment = ftp export area read only = yes exclude = test auth users = rsyncer secrets file = /etc/rsyncd.paswd #少一个s hosts allow = 94.4.19.202/255.255.255.0 5、启动rsyncd服务 /usr/bin/rsync --daemon --config=/etc/rsyncd.conf systemctl start rsyncd

注意事项: 如果遇到修改了rsyncd.conf文件 1、需要先netat -tunpla| grep rsyncd 查出进程号,kill -9 进程, 2、再rm -fr rsyncd.pid, 3、最后启动rsyncd服务。

二、windows服务器: 前提: 先放行 tcp:873端口。 1、安装cwRsyncServer 4.1 installer (不要用4.2版本的) 。 2、保留默认的用户和密码:用户:svccwrsync 密码:*(这个账户和密码只是用来启动rsync服务的,没其他任何作用)。 3、一直默认下一步,直到完成,完成后系统会自动创建用户:svccwrsync (不要删除和改动它) 。 3、控制面板--服务--rsyncserver--自动--启动。 4、编辑 c:\program files(x86)\icw\rsyncd.conf

use chroot = false strict modes = false hosts allow = * log file = rsyncd.log pid file = rsyncd.pid uid = 0 gid = 0

[ftp] path = /cygdrive/d/work read only = true transfer logging =yes auth users = rsyncer secrets file = rsyncd.paswd #paswd少了一个s

5、新建c:\program files(x86)\icw\rsyncd.paswd,增加文件的安全权限:svccwrsync,修改安全的所有者为用户组:administrators 。 #paswd少了一个s rsyncer:123 6、编辑d:\work,增加文件的安全权限:users(读取和运行)如果是加入域就用:domain users(读取和运行)。

三、linux客户端: 手动同步 rsync -avi rsyncer@94.4.19.111::ftp /root/backup

免密同步 vim /root/paswd #少一个s 123

rsync -avi --pasword-file=/root/paswd rsyncer@94.4.19.201::ftp /backup #少一个s

做成shell脚本,再crontab就好了。

四、windows客户端

先安装cwRsync_4.2.0_Installer (也可以安装4.1版本的)

1、在 rsync客户端(windows)的D盘新建rsyncd.paswd( #paswd少一个s),用记事本打开,写入密码(比如123)。 2、安装cwrsync installer 然后在安装目录bin下执行cmd chmod.exe -c 600 /cygdrive/d/rsyncd.paswd #paswd少一个s 3、把d:\rsyncd.paswd 的“所有者” 改为 administrator
3、(此步骤可不做) 把d:\rsyncd.paswd 的“文件权限” 改为 administrator(如果你是用其他账户登录的,那你就改为其他用户如user1 )。#paswd少一个s
4、 输入 rsync.exe -vzrtopgu --progres --delete rsyncer@94.4.1.111::ftp /cygdrive/D/bak --pasword-file=/cygdrive/d/rsyncd.paswd #progres少一个s,pasword少了一个s 备注:ftp是服务器端定义的目录,/cygdrive/D/bak 是本地用来存放拉回来的数据的目录。 4、做成bat脚本,放到计划任务 @echo off “c:\program files(x86)\cwrsync\bin\rsync.exe” -vzrtopgu --progres --delete rsyncer@94.4.1.11::ftp /cygdrive/d/bak --pasword-file=/cygdrive/d/rsyncd.paswd #progres少一个s,pasword少了一个s @echo off

温馨提示: server端和client都是工作组模式是OK的。 server端和client都是AD域模式是OK的。 server端是工作组,client是AD域也是OK的。 server端是域,client端是工作组,是不支持直接调用密码文件的(--password-file),只能手动输入密码。