Rsync服務(wù)常見問題匯總講解:
==============================================================================================
1 客戶端的錯(cuò)誤現(xiàn)象:No route to host
?rsync服務(wù)端開啟的iptables防火墻
?? [root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::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]
?? 異常問題解決:
?? 關(guān)閉rsync服務(wù)端的防火墻服務(wù)(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 ERROR: The remote path must start with a module name not a /
?rsync客戶端執(zhí)行rsync命令錯(cuò)誤:
?? 客戶端的錯(cuò)誤現(xiàn)象:??
?? [root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::/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命令語法理解錯(cuò)誤,::/backup是錯(cuò)誤的語法,應(yīng)該為::backup(rsync模塊)
==============================================================================================
3 @ERROR: auth failed on module backup
3. @ERROR: auth failed on module oldboy
?? 客戶端的錯(cuò)誤現(xiàn)象:
?? [root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::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. 密碼真的輸入錯(cuò)誤,用戶名真的錯(cuò)誤
?? 2. secrets file = /etc/rsync.password指定的密碼文件和實(shí)際密碼文件名稱不一致
?? 3. /etc/rsync.password文件權(quán)限不是600
?? 4. rsync_backup:123456密碼配置文件后面注意不要有空格
?? 5. rsync客戶端密碼文件中只輸入密碼信息即可,不要輸入虛擬認(rèn)證用戶名稱
==============================================================================================
4 @ERROR: Unknown module 'backup'
4. Unknown module 'backup'??
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::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配置文件模塊名稱書寫錯(cuò)誤
? ?2、配置文件中網(wǎng)段限制不對
==============================================================================================
5 ?Permission denied
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::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. 共享目錄的權(quán)限不正確,不是755
==============================================================================================
6 chdir failed???
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup
Password:
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
??? 異常問題解決:
??? 1. 備份存儲目錄沒有建立
??? 2. 建立的備份存儲目錄和配置文件定義不一致
??? [root@backup backup]# /etc/init.d/xinetd restart
shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
Stopping xinetd:???????? ??????????????????????????????????[? OK? ]
Starting xinetd: shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
?????????????????????????????????????????????????????????? [? OK? ]
??? 說明:如果沒有備份存儲目錄,xinetd服務(wù)都不能正確啟動
==============================================================================================
7 ?invalid uid rsync
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup
Password:
@ERROR: invalid uid rsync
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
??? 異常問題解決:
??? rsync服務(wù)對應(yīng)rsync虛擬用戶不存在了
==============================================================================================
8 客戶端已經(jīng)配置了密碼文件,但免秘鑰登錄方式,依舊需要輸入密碼
?? password file must not be other-accessible
[root@nfs01 tmp]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::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權(quán)限
==============================================================================================
9 ?rsync客戶端連接慢問題
錯(cuò)誤日志輸出
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
??? 異常問題解決:
??? 查看日志進(jìn)行分析
==============================================================================================
10 rsync服務(wù)沒有正確啟動Connection refused (111)
?[root@oldboy-muban ~]#? rsync -avz /etc/hosts rsync_backup@172.16.1.41::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]
解決 rsync服務(wù)沒開啟
[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 rsync_backup@172.16.1.41::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
?==============================================================================================
11 port 22: Connection refused
環(huán)境:本地服務(wù)器集群內(nèi)部傳輸利用遠(yuǎn)程ssh 報(bào)錯(cuò)
利用(telnet 172.16.1.31 22) 排查服務(wù)監(jiān)聽狀態(tài)后采取的解決方法
[root@oldboy-muban ~]# rsync /etc/hosts 172.16.1.31:/tmp
ssh: connect to host 172.16.1.31 port 22: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]
排錯(cuò)思路:
[root@oldboy-muban ~]# ping 172.16.1.31
PING 172.16.1.31 (172.16.1.31) 56(84) bytes of data.
64 bytes from 172.16.1.31: icmp_seq=1 ttl=64 time=0.628 ms
64 bytes from 172.16.1.31: icmp_seq=2 ttl=64 time=0.393 ms
64 bytes from 172.16.1.31: icmp_seq=3 ttl=64 time=1.06 ms
64 bytes from 172.16.1.31: icmp_seq=4 ttl=64 time=0.745 ms
[root@oldboy-muban ~]# traceroute 172.16.1.31
traceroute to 172.16.1.31 (172.16.1.31), 30 hops max, 60 byte packets
?1? nfs01 (172.16.1.31)? 0.597 ms? 0.189 ms? 0.965 ms
/etc/init.d/iptables status
iptables: Firewall is not running.
[root@backup ~]#
[root@backup ~]# netstat -lntup|grep 22
? p??????? 0????? 0 10.0.0.31:22??????????????? 0.0.0.0:*?????????????????? LISTEN????? 1187/sshd??????????
故障原因:無法連接
telnet 172.16.1.31 22
解決方法:
[root@oldboy-backup-41]# vim /etc/ssh/sshd_config
#Port 22
#AddressFamily any
#ListenAddress 10.0.0.31 改為 0.0.0.0
#ListenAddress ::
總結(jié):內(nèi)網(wǎng)傳輸通過SSH pro 22 表明22端口鏈接不上
==============================================================================================
12 --passwd-file=/etc/rsync.passwd: unknown option 沒有正確輸入password文件名
報(bào)錯(cuò):--passwd-file=/etc/rsync.passwd: unknown option
錯(cuò)誤案例 ?本地rsync.password 文件要保持一致缺少字母都會報(bào)錯(cuò)
echo "123456">>/etc/rsync.passwd
[root@nfs01 ~]# chmod 600 /etc/rsync.passwd
[root@nfs01 ~]# ll /etc/rsync.passwd
-rw------- 1 root root 7 Mar? 9 13:47 /etc/rsync.passwd
[root@nfs01 ~]# rsync? -az -P /root/ rsync_backup@172.16.1.41::backup --passwd-file=/etc/rsync.passwd
rsync: --passwd-file=/etc/rsync.passwd: unknown option
rsync error: syntax or usage error (code 1) at main.c(1422) [client=3.0.6]
?正確做法:
[root@nfs01 ~]# echo "123456">>/etc/rsync.password
[root@nfs01 ~]# chmod 600 /etc/rsync.password
[root@nfs01 ~]# ll /etc/rsync.password
-rw------- 1 root root 7 Mar? 9 13:49 /etc/rsync.password
rsync? -az -P /server/files/secure-20161219? rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
sending incremental file list
secure-20161219
??? 51053780 100%?? 14.31MB/s??? 0:00:03 (xfer#1, to-check=0/1)
rsync: mkstemp ".secure-20161219.lcnuWA" (in backup) failed: Permission denied (13)
sent 2210982 bytes? received 27 bytes? 491335.33 bytes/sec
total size is 51053780? speedup is 23.09
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]
[root@backup ~]# ls /backup/
100.log????????? cc.txt?????? optimize-init_sys.sh
anaconda-ks.cfg
????? 1)可能是服務(wù)沒有開啟
????? 2)iptables SELinux
????? 3)本次遇見sshd傳輸受限 限制了傳輸?shù)膇p(安全)
==============================================================================================
Rsync服務(wù)端排錯(cuò)思路
m? 查看rsync服務(wù)配置文件路徑是否正確 /etc/rsyncd.conf
m? 查看配置文件例的host allow,host deny,允許的ip網(wǎng)段是否是允許客戶端訪問的ip網(wǎng)段
m? 查看配置文件中path參數(shù)里的路徑是否存在,權(quán)限是否正確(正常應(yīng)為配置文件中的UUID參數(shù)對應(yīng)的屬主和組)
m? 查看rsync服務(wù)是否啟動,端口是否存在 ps -ef? netstat -lntup
m? 查看iptables防火墻和SELinux是否開啟允許rsync服務(wù)通過,也可以關(guān)閉
m? 查看服務(wù)端rsync配置文件里的密碼權(quán)限是否為600 密碼文件格式是否正確,正確格式(用戶名:密碼)文件路徑和配置文件里的secrect files 參數(shù)對應(yīng)
m? 如果是推送數(shù)據(jù),要查看,配置rsyncd.conf 文件中用戶是否對模塊下目錄有可讀的權(quán)限
==============================================================================================
客戶端排錯(cuò)思路
m? 查看客戶端rsync配置的密碼文件是否為600的權(quán)限,密碼文件格式是否正確,注意:僅需要有密碼,并且和服務(wù)端的密碼一致
m? 用telnet鏈接rsync服務(wù)器ip地址873端口,查看服務(wù)是否啟動(可測試服務(wù)端防火墻是否阻擋telnet10.0.0.100 873)
m? 客戶端執(zhí)行命令是 rsync -avzP rsync_backup@10.0.0.100::backup/test/test/ --password-file=/etc/rsync.password
m? 此命令要記清楚尤其10.0.0.100::backup/test/處的雙引號及隨后的backup為模塊名稱