在远程主机上建立一个rsync的服务器,在服务器上配置好rsync的各种应用,然后本机作为rsync的一个客
户端去连接远程的rsync服务器。如何去配置一台rsync服务器。
首先配置/etc/rsync.conf(需要手动生成)
vim /etc/rsyncd.conf
#全局参数
#port=873
log file=/var/log/rsync.log
pid file=/var/run/rsync.pid
#监听地址,假如你的机器有多个IP,就可以指定其中一个启动rsyncd服务,默认是在全部IP上启动
#address=192.168.176.253
#模块参数
[test]
#指定数据存放的路径
path=/root/rsync
#use chroot true|false 默认是true,意思是在传输文件以前首先chroot到path参数所指定的目录下。这
样做的原因是实现额外的安全防护,但是缺点是需要以roots权限,并且不能备份指向外部的符号连接所指
向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件的话建议设置成false。
use chroot=true
#指定最大的连接数,默认是0即没有限制
max connections=4
#read only ture|false 如果为true则不能上传到该模块指定的路径下
read only=no
#list 指定当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏
list=true
#uid/gid 指定传输文件时,以哪个用户/组的身份传输
uid=root
gid=root
#auth users 指定传输时要使用的用户名
auth users=test
#secrets file 指定密码文件,该参数连同上面的参数如果不指定则不使用密码验证,注意该密码文件的
权限一定要是600
secrets file=/etc/rsyncd.passwd
#hosts allow 指定被允许连接该模块的主机,可以是IP或者网段,如果是多个,之间用空格隔开
hosts allow=192.168.0.101
2.编辑secrets file,保存后要赋予600权限,如果权限不对,不能完成同步
root@Aming-1 ~]# cat /etc/rsyncd.passwd
test:123456
[root@Aming-1 ~]# chmod 600 /etc/rsyncd.passwd
3.启动rsyncd服务
[root@Aming-1 ~]# rsync --daemon --config=/etc/rsyncd.conf
4.如果想开机启动,请把 rsync --daemon --confg=/etc/rsyncd.conf 写入到/etc/rc.d/rc.local文件。
5到另一台机器上测试
[root@Aming ~]# rsync -avL test@192.168.0.10::test/test1/ /tmp/test5/
6.不如在输入密码
(1)可以在同步的时候指定密码文件
在客户端的主机上
vim /etc/pass
加入test用户的密码
123456
chmod 600 /etc/pass
rsync -avL test@192.168.0.10::test/test1/ /tmp/test8/ --password-file=/etc/pass
(2)在rsync服务器端不指定用户
在服务端也就是主机Aming-1上修改配置文件rsyncd.conf, 去掉关于认证账户的配置项(auth user 和
secrets file这两行):sed -i 's/auth users/#auth users/;s/secrets file/#secrets file/'
/etc/rsyncd.conf
上面的这个命令是把 “auth users” 和 “secrets file” 两行的最前面加一个 “#”, 这样就把这两
行注释掉,使其失去意义。
在测试:rsync -avL 192.168.0.10::test/test1/ /tmp/test9/