一、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),只能手动输入密码。