rsync守护进程部署流程
1)服务端部署流程
第一里程:检查软件是否安装
[root@backup ~]# rpm -qa rsync
rsync-3.0.6-12.el6.x86_64
第二里程:编写配置文件
vim /etc/rsyncd.conf
#rsync_config
#created by TY at 2018
##rsyncd.conf start##

  uid = rsync
  gid = rsync
  use chroot = no
  max connections = 200
  timeout = 300
  pid file = /var/run/rsyncd.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
  read only = true
  [nfs]
  comment = "backup dir by oldboy"
  path = /nfs

第三个里程:创建备份目录管理用户
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服务常见问题汇总讲解:

  1. 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.

  2. 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模块)

  3. 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]
    【异常问题解决】

    1. 密码真的输入错误,用户名真的错误
    2. secrets file = /etc/rsync.password指定的密码文件和实际密码文件名称不一致
    3. /etc/rsync.password文件权限不是600
    4. rsync_backup:123456密码配置文件后面注意不要有空格
    5. rsync客户端密码文件中只输入密码信息即可,不要输入虚拟认证用户名称
  4. 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]
    【异常问题解决】

    1. /etc/rsyncd.conf配置文件模块名称书写错误
  5. 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]
    【异常问题解决】

    1. 备份目录的属主和属组不正确,不是rsync
    2. 备份目录的权限不正确,不是755
  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]
    【异常问题解决】

    1. 备份存储目录没有建立
    2. 建立的备份存储目录和配置文件定义不一致
      说明:如果没有备份存储目录
  7. 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虚拟用户不存在了

  8. 客户端已经配置了密码文件,但免秘钥登录方式,依旧需要输入密码
    【客户端的错误】
    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权限

  9. 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 //**更改端口号和配置文件启动服务 rsync --daemon --port 8730 --config=/home/rsyncd.conf
[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