1)服务端部署流程
第一里程:检查软件是否安装
[root@backup ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
第二里程:编写配置文件
vim /etc/rsyncd.conf
#rsync_config
#created by HQ at 2017
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no 进行数据同步运行时候,安全相关参数,默认内网数据同步,可以关闭
max connections = 200 定义向备份服务器进行数据存储的并发连接数
timeout = 300 建立连接后,多久没有数据传输就释放连接
pid file = /var/run/rsyncd.pid 服务运行时,pid信息的存储文件
lock file = /var/run/rsync.lock 定义锁文件,当达到最大连接数就禁止继续访问
log file = /var/log/rsyncd.log 服务日志文件
ignore errors 数据备份时忽略一些错误
read only = false 设置备份的目录具有读写权限,即将只读模式关闭
list = false 确认是否将服务配置信息在客户端可以显示
hosts allow = 172.16.1.0/24 设置白名单
hosts deny = 0.0.0.0/32 黑名单
auth users = rsync_backup 指定访问备份数据目录的认证用户信息,虚拟用户,不需要进行创建
secrets file = /etc/rsync.password 密码文件
[backup] 备份目录的模块名称
comment = "backup dir by oldboy"
path = /backup 备份的目录
第三个里程:创建备份目录管理用户
useradd rsync -M -s /sbin/nologin
第四个里程:创建备份目录并赋权
mkdir /backup
chown -R rsync.rsync /backup
第五个里程:创建认证文件
echo "rsync_backup:oldboy123" >>/etc/rsync.password
chmod 600 /etc/rsync.password
第六个里程:启动rsync服务
rsync --daemon
2)客户端部署流程
第一个里程:确认软件是否安装
[root@backup ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
第二个里程:创建认证密码文件
echo "oldboy123" >>/etc/rsync.password
chmod 600 /etc/rsync.password
第三个里程:进行数据备份测试
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password
sending incremental file list
hosts
sent 189 bytes received 27 bytes 432.00 bytes/sec
total size is 352 speedup is 1.63
以上就是Rsync服务的配置流程,下面我们来看看常见的十大错误以及解决方法
rsync服务端开启的iptables防火墙
【客户端的错误】
No route to host
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::backup
rsync: failed to connect to 172.16.1.41: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]
【异常问题解决】
关闭rsync服务端的防火墙服务(iptables)
[root@backup mnt]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@backup mnt]# /etc/init.d/iptables status
iptables: Firewall is not running.
rsync客户端执行rsync命令错误
【客户端的错误】
The remote path must start with a module name not a /
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::/backup
ERROR: The remote path must start with a module name not a /
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
【异常问题解决】
rsync命令语法理解错误,::/backup是错误的语法,应该为::backup(rsync模块)
rsync服务认证用户失败*****
【客户端的错误】
auth failed on module oldboy
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::backup
Password:
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
【异常问题解决】
rsync服务位置模块错误
【客户端的错误】
Unknown module ‘backup’
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::backup
@ERROR: Unknown module ‘backup’
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
【异常问题解决】
rsync服务权限阻止问题
【客户端的错误】
Permission denied
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::backup
Password:
sending incremental file list
hosts
rsync: mkstemp “.hosts.5z3AOA” (in backup) failed: Permission denied (13)
sent 196 bytes received 27 bytes 63.71 bytes/sec
total size is 349 speedup is 1.57
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]
【异常问题解决】
rsync服务备份目录异常
【客户端的错误】
chdir failed
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::backup
Password:
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
【异常问题解决】
rsync服务无效用户信息
【客户端的错误】
invalid uid rsync
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::backup
Password:
@ERROR: invalid uid rsync
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
【异常问题解决】
rsync服务对应rsync虚拟用户不存在了
客户端已经配置了密码文件,但免秘钥登录方式,依旧需要输入密码
【客户端的错误】
password file must not be other-accessible
【错误演示过程】
[root@nfs01 tmp]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password
password file must not be other-accessible
continuing without password file
Password:
sending incremental file list
sent 26 bytes received 8 bytes 5.23 bytes/sec
total size is 349 speedup is 10.26
【异常问题解决】
rsync客户端的秘钥文件也必须是600权限
rsync客户端连接慢问题
IP === 域名 反向DNS解析
【错误日志信息】
错误日志输出
2017/03/08 20:14:43 [3422] params.c:Parameter() - Ignoring badly formed line in configuration file: ignore errors
2017/03/08 20:14:43 [3422] name lookup failed for 172.16.1.31: Name or service not known
2017/03/08 20:14:43 [3422] connect from UNKNOWN (172.16.1.31)
2017/03/08 20:14:43 [3422] rsync to backup/ from rsync_backup@unknown (172.16.1.31)
2017/03/08 20:14:43 [3422] receiving file list
2017/03/08 20:14:43 [3422] sent 76 bytes received 83 bytes total size 349
正确日志输出
2017/03/08 20:16:45 [3443] params.c:Parameter() - Ignoring badly formed line in configuration file: ignore errors
2017/03/08 20:16:45 [3443] connect from nfs02 (172.16.1.31)
2017/03/08 20:16:45 [3443] rsync to backup/ from rsync_backup@nfs02 (172.16.1.31)
2017/03/08 20:16:45 [3443] receiving file list
2017/03/08 20:16:45 [3443] sent 76 bytes received 83 bytes total size 349
【异常问题解决】
查看日志进行分析,编写rsync服务端hosts解析文件
10 rsync服务没有正确启动
【错误日志信息】
Connection refused (111)
【错误演示过程】
[root@oldboy-muban ~]# rsync -avz /etc/hosts [email protected]::backup
rsync: failed to connect to 172.16.1.41: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]
【异常问题解决】
[root@oldboy-muban ~]# rsync --daemon
[root@oldboy-muban ~]# ss -lntup |grep rsync
tcp LISTEN 0 5 :::873 ::? users:((“rsync”,1434,5))
tcp LISTEN 0 5 *:873 : users:((“rsync”,1434,4))
[root@oldboy-muban ~]# rsync -avz /etc/hosts [email protected]::backup
Password:
sending incremental file list
hosts
sent 196 bytes received 27 bytes 49.56 bytes/sec
total size is 349 speedup is 1.57
1,守护进程多模块功能配置
1)修改配置功能
[backup01]
comment = “backup dir by oldboy”
path = /backup
[backup02]
comment = “backup dir by oldboy”
path = /backup02
2)创建多模块目录,让后赋权给rsync用户
3)重启rsync服务
2,守护进程排除功能实践
加如文件夹里面有ABCD4个文件只想要AB,不想要BD
第一种方式
[root@nfs01 /]#
[root@nfs01 /]# rsync -avz /etc/hosts --exclude=b exclude=d [email protected]::backup01 --password-file=/etc/rsync.password
第二种方式,指定一个文件,文件里面编写要排除的文件
3,守护进程创建备份目录
4,守护进程的访问控制配置
三种情况:
1只有白名单,白名单网段主机信息允许,其余阻止
2只有黑名单,黑名单网段主机信息组织,其余允许
3有白名单也有黑名单,白名单网段主机信息允许,黑名单网段主机信息组织,其余允许
建议只选择前两种配置
5,守护进程无差异同步配置
我有的,你也有。我没有的你也不能有
加delete后会把备份服务器里面已有的东西删掉,切记小心使用
6,守护进程的列表功能配置
配置文件list=false 表示是否显示rsync服务端所有模块信息
[root@nfs01 test]#
[root@nfs01 test]# rsync [email protected]::
backup01 “backup dir by oldboy”
backup02 “backup dir by oldboy”
这个功能最好不好开,不安全