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服務常見問題彙總講解:
-
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]
【異常問題解決】- 密碼真的輸入錯誤,用戶名真的錯誤
- secrets file = /etc/rsync.password指定的密碼文件和實際密碼文件名稱不一致
- /etc/rsync.password文件權限不是600
- rsync_backup:123456密碼配置文件後面注意不要有空格
- rsync客戶端密碼文件中只輸入密碼信息即可,不要輸入虛擬認證用戶名稱
-
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]
【異常問題解決】- /etc/rsyncd.conf配置文件模塊名稱書寫錯誤
-
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
- 備份目錄的權限不正確,不是755
-
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 //**更改端口號和配置文件啓動服務 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