课堂笔记day33——rsync服务排错思路以及常见错误
2019-04-17 本文已影响0人
劉歓
1.rsync排除复制实现例:
1.1参数介绍:
--excude:排除文件
--exclude-form:从文件中排除不复制文件
1.2实例:
[root@web01 /backup]# touch {1..10}
[root@web01/backup]#rsync -avz /backup/ --exclude={1..5} rsync_backup@172.16.1.41::backup
sending incremental file
list
./
10
6
7
8
9
sent 409 bytes received 123 bytes 1,064.00 bytes/sec
total size is 1,335 speedup is 2.51
[root@backup /backup]# ls
10 6 7 8 9
![](https://img.haomeiwen.com/i16833174/2f0a7b799f7ab5af.png)
1.3企业案列:
某上市公司,白天高峰期某DBA人员从数据库服务器通过rsync将上百GB数据复制到备份服务器,导致数据库库服务器带宽占满,造成用户无法访问网站的悲剧。
解答:
方法一:其实可以利用rsync限速功能,将复制速度限制在剩余带宽的1/3或者1/2,可能就不会出现故障了。
rsync -avz /backup/--bwlimit=10MBrsync_backup@172.16.1.41::backup
限速为10MB
方法二:
[root@backup /]# cat
>>/etc/rsyncd.conf<<EOF
> [data]
> path = /data/
> EOF
[root@backup /]# mkdir -p /data
[root@backup /backup]# chown -R rsync.rsync /data
[root@backup /backup]# ls -ld /data
drwxr-xr-x 3 rsync rsync 260 4月 11 22:00 /data
[root@backup /backup]# systemctl restart rsyncd
2、Rsync企业级应用经验
2.1Rsync排错思路
1)排错必备思想:要对部署流程步骤掌握熟练,熟悉rsync数据同步原理,并且要学会多看日志,rsync命令行输出日志文件为/var/log/rsyncd.conf.
2)排错能力练习:模拟错误,重视日常错误总结。
2.2Rsync服务端排错思路
1)查看rsync服务配置文件路径是否正确,正确的默认路径为:/etc/rsyncd.conf。
2)查看配置文件里host allow、host deny允许的ip网段是否是允许客户端访问的ip网段。
3)查看配置文件中path参数里的路径是否存在,权限是否正确(正常应为配置文件中的UID参数对应的属主和组织)。
4)查看rsync服务是否启动,查看命令为:ps -ef|grep rsync,端口是否存在netstat -lnt|grep 873.
5)查看iptables防火墙和selinux是否允许rsync服务通过,也可以关闭掉。
6)查看服务端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,正确格式用户名:密码,文件路径和配置文件里的secrect files参数对应。
7)如果是推送数据,要查看下,配置rsyncd.conf文件中用户是否对模块下目录有可读写的权限。
2.3服务端排错
1)正确的推送数据以及拉取数据:
![](https://img.haomeiwen.com/i16833174/1e5ac8108af41d5e.png)
![](https://img.haomeiwen.com/i16833174/d17445a3908c5cf4.png)
2)开始排错:
错误一:@ERROR: invalid uid rsync
※服务端没有创建rsync用户和没有创建/backup目录以及给目录指定用户和用户组。
![](https://img.haomeiwen.com/i16833174/909aa31070364a0c.png)
![](https://img.haomeiwen.com/i16833174/6182ce2fd0a68a88.png)
解决方法:(服务端添加)
[root@backup /]# useradd -M -s /sbin/nologin rsync
[root@backup /]# id rsync
uid=1006(rsync) gid=1007(rsync) 组=1007(rsync)
[root@backup /]# #mkdir -p /backup
[root@backup /]# chown -R rsync.rsync /backup
[root@backup /]# ls -ld /backup
drwxr-xr-x 3 rsync rsync 25 4月 16 14:45 /backup
错误二:sending incremental file list
※服务端下的/backup目录没有指定授权rsync用户和组或配置文件不全缺少
![](https://img.haomeiwen.com/i16833174/7fc9e3a78f77a36a.png)
![](https://img.haomeiwen.com/i16833174/655b00d04d3a508b.png)
![](https://img.haomeiwen.com/i16833174/5929cb8a0bfe79cd.png)
![](https://img.haomeiwen.com/i16833174/eef306ecd1990e91.png)
�解决方法一:(服务端添加)
[root@backup /]# chown -R rsync.rsync /backup
[root@backup /]# ls -ld /backup/
drwxr-xr-x 3 rsync rsync 25 4月 16 14:45 /backup/
解决方法二:(服务端添加)
[root@backup /]# vim /etc/rsyncd.conf
添加fake super = yes
[root@backup /]# systemctl restart rsyncd <==重启服务
![](https://img.haomeiwen.com/i16833174/e6b58341ab7f46d8.png)
错误三:@ERROR: chdir failed
※服务端没有创建共享目录/backup(创建后记得指定用户和组)
![](https://img.haomeiwen.com/i16833174/96452fd50b506cc1.png)
![](https://img.haomeiwen.com/i16833174/50d41cd538650492.png)
解决方法:(服务端添加)
[root@backup /]# mkdir -p /backup
[root@backup /]# chown rsync.rsync /backup/
[root@backup /]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 6 4月 16 23:03 /backup/
错误四:rsync: failed to connect to
172.16.1.41 (172.16.1.41): No route to host
※防火墙开启(将服务端以及客户端的防火墙全部关闭)
解决方法:(服务端以及客户端)
systemctl stop firewalld.service
systemctl disable firewalld.service
※selinux开启(将服务端以及客户端的seliunx全部关闭)
sed -i 's#SELINUX=.*#SELINUX=disabled#g'/etc/selinux/config <==关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config <==关闭selinux
grep SELINUX=disabled /etc/selinux/config <==查看状态
setenforce 0 <==关闭selinux
getenforce <==查看状态
错误五:ERROR: The remote path must start with a module name not a /(客户端)
※rsync命令语法理解错误,::/backup是错误的语法,应该为::backup(rsync模块)
![](https://img.haomeiwen.com/i16833174/240f528a3e3da06d.png)
解决方法:
[root@nfs01 /]# rsync -avz /backup/ rsync_backup@172.16.1.41::backup
错误六:@ERROR: auth failed on module backup imes New Roman
![](https://img.haomeiwen.com/i16833174/a81a83ba66b3da32.png)
![](https://img.haomeiwen.com/i16833174/750796829b2c7e9e.png)