5月15日任务

10.32/10.33 rsync通过服务同步
10.34 linux系统日志

10.35 screen工具

rsync通过服务同步 vim /etc/rsyncd.conf (把002机器的数据同步到001上,需要开放001服务器端的873端口)


执行rsync --daemon启动服务,ps aux |grep rsync 查看进程是否在运行中


netstat -ltnp 查看端口和进程对应关系


创建/tmp/rsync目录并更改默认权限777


同步rsync命令:rsync -avP /tmp/liut.txt 192.168.242.128::test/liut_dst.txt

其中192.168.242.128是服务器端,test为/etc/rsync.conf 中test模块的路径/tmp/rsync,以上命令尝试把服务器端的/tmp/liut.txt同步到客户端test模块即/tmp/rsync目录中


报错:没有到客户端的路由

排错: ①检查能否ping通客户端 


         ②检查端口是否是通路 telnet  IP port


       ③此问题需要检查iptables规则,停掉firewalld服务;再用telnet测试


但是001机器上即使用systemctl stop firewalld停掉 firewalld服务 iptables -nvL 规则还在,再停掉iptables服务 service iptables stop,最后telnet测试端口通信成功




再次尝试rsync;如下图所示,因为/etc/rsyncd.conf中有密码设置文件



先注释掉,再rsync无需密码,成功


   

在001服务器端检查是否同步成功,显示结果如下图


反之可以把001机器上的文件拉倒002上



不加port默认端口为873,也可自定义端口如8730

log file 指定日志文件


如果在/etc/hosts中补上客户端IP 192.168.242.129的主机名就不会报UNKNOWN

use chroot true 把活动范围限定在path路径中,如果其中有一个软链接文件指向另一个目录,在rsync -avL时就会出现问题

e.g. rsync -avP没问题


但是用-avLP会出错,因为L是常规处理软链接文件,而use chroot=true时,系统会判定软链接所指代的源文件在其他目录,不在path指定的文件路径范围内,故同步失败(通过查看日志/var/log/rsync可知错误详情)


改成use chroot= false则同步成功

更改端口重新测试,先killall rsync


改变端口后同步格式为 rsync -avLP --port  端口号  服务端IP::模块名/   客户端文件目录  



read only true|false  true表示read only成立,不能把数据上传到该模块的路径下(即服务器端)

list可以看成一个安全选项,当定义为true则在客户端上执行 rsync  --port 8730 192.168.242.128(服务器端IP地址):: 可显示模块名,vi /etc/rsyncd.conf中的list值为false可以隐藏之



如下图:在服务器端的/etc/rsyncd.conf 中把list选项修改成false,模块名被隐藏


uid/gid传输所用的用户/组的身份


如把服务器端rysnc配置文件uid/gid改成nobody组(权限较小),这时把客户端的文件推送到服务器端的模块中报错,因为权限不够


猜你喜欢

转载自blog.csdn.net/fuel91/article/details/80322101
今日推荐