10.31 rsync通过ssh通过

10.31 rsync通过ssh通过

通过ssh同步 需要在ab机器都安装rsync

通过ssh同步,输入命令 rsync -av /etc/passwd 192.168.218.130:/tmp/lys.txt 

反过来操作,输入命令 rsync -avP 192.168.218.130:/tmp/lys.txt  /tmp/123.txt

如果不知道对方的端口的话,就需要指定端口,加上-e选项,输入命令 rsync -avP -e "ssh -p 22" /etc/passwd  192.168.218.130:/tmp/lys.txt 

10.23 rsync通过服务同步

编辑配置文件,输入命令 vi /etc/rsyncd.conf

port=873
log file=/var/log/rsync.log
pid file=/var/run/rsyncd.pid
address=192.168.218.128
[test]
path=/tmp/rsync
use chroot=true
max connections=4
read only=no
list=true
uid=root
gid=root
auth user=test
secrets file=/etc/rsyncd.passwd
hosts allow=192.168.218.130

启动服务,输入命令 rsync--daemon

接着创建文件 /tmp/rsync,并授权 777

然后先在02机器上,同步一个文件,输入命令 rsync -avP /tmp/lys.txt 192.168.218.128::test/lys-02.txt

命令中含有两个冒号 :: 的,就是使用 rsyncd.conf 

输入命令 cat /etc/rsyncd.conf,回车,查看配置文件

“use chroot” 默认为true,如果是true,同步的文件中如果有软连接,则会有问题,无法实现同步。这时候更改配置文件里的 use chroot 为 false 的话,软链接同步就可以实现了

list 改为 false 的时候,就不会有模块出现

传输过程指定用户名 auth users 和密码文件 secrets file,输入命令 vim /etc/rsyncd.passwd

密码文件保存在 /etc/rsync.password  ,更改文件的权限为600 (格式: 用户名:密码)

还有一种方法,在02机器上保存密码文件,传输的时候就不必输密码了,具体操作见下图,输入命令 vi /etc/rsync_pass.txt (只需要输入密码)

rsync -avP /tmp/test/ --port=8730 --password-file=/etc/rsync_pass.txt [email protected]::test/

猜你喜欢

转载自my.oschina.net/u/3803395/blog/1809337