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组(权限较小),这时把客户端的文件推送到服务器端的模块中报错,因为权限不够