3、定义密码文件/etc/rsyncd.secrets
[root@cmmailapp2 data]# cat /etc/rsyncd.secrets
mysql:123456
4、修改密码权限:
[root@CentOS62 ~]# ll /etc/rsyncd.*
-rw-r--r--. 1 root root 300 3月 4 14:12 /etc/rsyncd.conf
-rw-r--r--. 1 root root 16 3月 4 14:13 /etc/rsyncd.secrets
[root@centos62 ~]# chmod 600 /etc/rsyncd.*
[root@centos62 ~]# chown mysql.mysql /etc/rsyncd.*
[root@centos62 ~]# ll /etc/rsyncd.*
-rw-------. 1 mysql mysql 300 3月 4 14:12 /etc/rsyncd.conf
-rw-------. 1 mysql mysql 16 3月 4 14:13 /etc/rsyncd.secrets
5、服务启动:
Rsync服务端启动有两种方法
(1)启动rsync服务端(独立启动)# /usr/bin/rsync --daemon 这里仅以这种方式启动。
(2)启动rsync服务端(用xinetd超级进程启动---centos6.2已不用)# /etc/init.d/xinetd reload
如果xinetd没有安装的话,先# yum install xinetd.
# rsync --daemon --config=/etc/rsyncd.conf
>>>设置开机自动启动rsync服务
# vi /etc/rc.local
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf #可不用--config选项,默认即读取/etc/rsyncd.conf
你也可以指定rsync运行的端口 #/usr/bin/rsync –daemon –port=873
记得配置防火墙,允许你rsync端口的tcp和udp协议。873:tcp 873:udp
[root@centos62 ~]#lsof -i :873
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsync 3344 root 4u IPv4 41928 0t0 TCP *:rsync (LISTEN)
rsync 3344 root 5u IPv6 41929 0t0 TCP *:rsync (LISTEN)
至此,服务器端配置完成。
6、查看SELINUX是否打开端口,如果没有,则要打开。
[root@centos62 ~]# semanage port -p tcp -a -t rsync_port_t 873
[root@centos62 ~]# semanage port -l | grep rsync
rsync_port_t tcp 873
rsync_port_t udp 873
7、客户端安装:和服务端rsync安装的方法一样,两边的版本要相一致.
但客户端的增加一个密码文件/etc/rsyncd.pwd输入服务端/etc/rsyncd.secrets中密码部分如“123456”即可,注意不要添加用户名 。
注:密码验证文件设置的密码不一定是系统的密码,只要两边的密码一样就可以.
【注意】这份rsyncd.pwd文件必须设成#chmod 600 /etc/rsyncd.pwd,即仅属主可读的模式,
如果组和其它用户也可读,将会出错:password file must not be other-accessible
8、测试:【注意远程主机的格式是“用户名@主机::配置文件中的栏名”,如果不加用户名,默认同当前用户,不要用单冒号】
上传:[root@c62slave ~]# rsync -av /root/pwd mysql@192.168.1.218::mysql
下载:[root@c62slave ~]# rsync -av mysql@192.168.1.218::mysql /root/mysqldata
不需手动输入密码:
上传:[root@c62slave ~]# rsync -av /root/pwd mysql@192.168.1.218::mysql --password-file=/etc/rsyncd.pwd
下载:[root@c62slave ~]# rsync -vzrtopg --progress mysql@192.168.1.218::mysql /root/mysqldata/ --password-file=/etc/rsyncd.pwd
仅列出远程主机的文件清单:
# rsync -v rsync://wolf2012@192.168.1.218:873/test --password-file=/etc/rsyncd.pwd仅列出远程主机的文件列表。
test是远程主机的/etc/rsyncd.conf中配置组名。