课堂笔记day33——rsync服务排错思路以及常见错误

1.rsync排除复制实现例:

1.1参数介绍:

--excude:排除文件

--exclude-form:从文件中排除不复制文件

1.2实例:

[root@web01 /backup]# touch {1..10}

[root@web01/backup]#rsync -avz /backup/ --exclude={1..5} [email protected]::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


课堂笔记day33——rsync服务排错思路以及常见错误_第1张图片


1.3企业案列:

某上市公司,白天高峰期某DBA人员从数据库服务器通过rsync将上百GB数据复制到备份服务器,导致数据库库服务器带宽占满,造成用户无法访问网站的悲剧。

解答:

方法一:其实可以利用rsync限速功能,将复制速度限制在剩余带宽的1/3或者1/2,可能就不会出现故障了。

rsync -avz /backup/[email protected]::backup

限速为10MB

方法二:

[root@backup /]# cat

>>/etc/rsyncd.conf<

> [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)正确的推送数据以及拉取数据:


课堂笔记day33——rsync服务排错思路以及常见错误_第2张图片
课堂笔记day33——rsync服务排错思路以及常见错误_第3张图片


2)开始排错:

错误一:@ERROR: invalid uid rsync

※服务端没有创建rsync用户和没有创建/backup目录以及给目录指定用户和用户组。



解决方法:(服务端添加)

[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用户和组或配置文件不全缺少


课堂笔记day33——rsync服务排错思路以及常见错误_第4张图片
课堂笔记day33——rsync服务排错思路以及常见错误_第5张图片

�解决方法一:(服务端添加)

[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         <==重启服务


课堂笔记day33——rsync服务排错思路以及常见错误_第6张图片


错误三:@ERROR: chdir failed

※服务端没有创建共享目录/backup(创建后记得指定用户和组)



解决方法:(服务端添加)

[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模块)



解决方法:

[root@nfs01 /]# rsync -avz /backup/ [email protected]::backup


错误六:@ERROR: auth failed on module backup imes New Roman



1)密码真的输入错误,用户名真的错误

2)secrets file = /etc/rsync.password指定的密码文件和实际密码文件名称不一致

3)/etc/rsync.password文件权限不是600

4)rsync_backup:123456密码配置文件后面注意不要有空格

5)rsync客户端密码文件中只输入密码信息即可,不要输入虚拟认证用户名称

解决方法:

方法一:检查客户端和服务端的密码是否一样、命令中输入的用户名是否正确

[root@nfs01 /]# cat /etc/rsync.password        <==客户端

oldboy

[root@backup ~]# cat /etc/rsync.password      <==服务端

rsync_backup:oldboy

方法二:检查客户端命令输入中密码配置文件的一致性

--password-file=/etc/rsync.password

方法三:给服务端下的密码文件加600权限

[root@backup ~]# chmod 600 /etc/rsync.password

方法四:服务端下的密码配置文件书写正确(如下)

[root@backup ~]# cat /etc/rsync.password

rsync_backup:oldboy

方法五:rsync客户端下密码认证文件只输入密码就行,不要加虚拟用户

[root@nfs01 /]# cat /etc/rsync.password        <==客户端

oldboy

方法六:执行脚本的时候出现该错误,应该是脚本文件中定义的密码变量和配置文件中

你可能感兴趣的:(课堂笔记day33——rsync服务排错思路以及常见错误)