rsync安裝使用指南(一)基礎安裝

Linux 學習-rsync服務

標記:期中架構 --- 同步服務

時間:2017-12-16 13:02:30

作者:peng

本文涉及內容:

1)rsync的安裝

2)rsync的配置過程

3)rsync的應用

4)rsync的常見故障問題彙總

一、rsync 的安裝過程

1)檢查服務是否安裝

檢查一個命令是否安裝

rpm -qa |grep "name" ###模糊查找
rpm -qa "name" ###精確查找          

案例:

1、查看ssh命令是否安裝

[root@backup ~]# rpm -qa |grep ssh

openssh-clients-5.3p1-122.el6.x86_64

openssh-5.3p1-122.el6.x86_64

openssh-server-5.3p1-122.el6.x86_64

libssh2-1.4.2-2.el6_7.1.x86_64

[root@backup ~]# 

2、查看rsync服務是否安裝

[root@backup ~]# rpm -qa |grep rsync
rsync-3.0.6-12.el6.x86_64
[root@backup ~]# 

補充

1、查看某一個命令屬於哪個安裝包?

rpm -qf "which CMDname"

例如:
查看sl這個命令屬於哪個安裝包

[root@backup ~]# rpm -qf `which sl`
sl-5.02-1.el6.x86_64
[root@backup ~]# 

2、查看安裝包內容都有什麼?

rpm -ql “軟件名稱“

例如:
查看sl這個包裏面偶有什麼

[root@backup ~]# rpm -ql  sl
/usr/bin/sl
/usr/share/doc/sl-5.02
/usr/share/doc/sl-5.02/LICENSE
/usr/share/doc/sl-5.02/README.ja.md
/usr/share/doc/sl-5.02/README.md
/usr/share/man/ja/man1/sl.1.ja.gz
/usr/share/man/man1/sl.1.gz
[root@backup ~]# 

3、安裝rpm包

rpm -ivh "軟件包“

###rpm 軟件安裝包一般以.rpm結尾

4、卸載rpm軟件

rpm -e zsh     只寫軟件包的名字      
    --nodeps       強制卸載

案例:
卸載Telnet服務

1、安裝軟件
[root@backup ~]# rpm -qa |grep telnet
telnet-0.17-48.el6.x86_64
[root@backup ~]# 
2、開始卸載軟件
    01、知曉軟件包的名稱
[root@backup ~]# rpm -qf `which telnet`
telnet-0.17-48.el6.x86_64
[root@backup ~]# 
    02、卸載軟件
[root@backup ~]# rpm -e telnet-0.17-48.el6.x86_64
[root@backup ~]# rpm -qa |grep telnet
[root@backup ~]#

5、升級rpm包

rpm -Uvh rpm包

二、配置環境

前言:

由於rsync服務啓動時不會自動生成配置文件需要重新編輯配置文件

配置文件模板:

#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      ###進程對應的進程號文件
    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      ###模塊 目錄路徑

1) 編寫配置文件

cat /etc/rsyncd.conf
###rsyncd.conf######

#------全局配置模塊--------#
uid = rsync
gid = rsync
#指定用戶和用戶爲rsync
use chroot = no
max connections = 200
#最大連接數200 
timeout = 300
#定義超時時間
pid file = /var/run/rsyncd.pid
#進程對應的進程號文件
lock file = /var/run/rsync.lock
#進程的鎖文件
log file = /var/log/rsyncd.log
#日誌文件
#-------模塊配置--------#
[backup]
#模塊名稱
path = /backup
#模塊對應的路徑
ignore errors 
#忽略錯誤程序
read only = false
#是否只讀
list = false
#是否可以列表
hosts allow = 172.16.1.0/24
#允許訪問網段
hosts deny = 0.0.0.0/32
#拒絕訪問ip
auth users = rsync_backup
#認證用戶
secrets file = /etc/rsync.password
#認證用戶的口令存放文件 
#rsync_config------------------end

[root@backup ~]# 

2) 依據配置文件創建準備環境

2-1、認證用戶

[root@backup ~]# useradd rsync
[root@backup ~]# id rsync
uid=500(rsync) gid=500(rsync) groups=500(rsync)
[root@backup ~]# 

2-2、認證用戶密碼文件

[root@backup ~]# vim /etc/rsync.password
[root@backup ~]# cat /etc/rsync.password 
rsync_backup:123@123
[root@backup ~]# chmod 600 /etc/rsync.password 
[root@backup ~]# ls -ld /etc/rsync.password 
-rw------- 1 root root 21 Dec 16 14:09 /etc/rsync.password
[root@backup ~]# 

創建密碼文件並設置權限

2-3、備份模塊目錄設置

[root@backup ~]# mkdir -p /backup
[root@backup ~]# chown -R rsync.rsync /backup/
[root@backup ~]# ls -ld /backup/
drwxr-xr-x 2 rsync rsync 4096 Dec 16 14:12 /backup/
[root@backup ~]# 

3、啓動rsync服務

rsynvc --demon 命令啓動

4、客戶端配置操作

4-1)確認服務是否安裝

rpm -aq |grep rsync

4-2) 安裝服務

命令:yum -y install rsync
若果服務已經安裝則跳過這一步

4-3)編輯認證用戶密碼文件

[root@nfs01 ~]# echo "123@123" >>/etc/ysync.password
[root@nfs01 ~]# chmod 600 /etc/ysync.password
[root@nfs01 ~]# ls -ld /etc/ysync.password
-rw------- 1 root root 8 Dec 16 14:29 /etc/ysync.password
[root@nfs01 ~]# cat /etc/ysync.password
123@123
[root@nfs01 ~]# 

5、測試運行同步

5-1、正常同步

[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup 
Password: 
sending incremental file list
hosts

sent 196 bytes  received 27 bytes  63.71 bytes/sec
total size is 349  speedup is 1.57
[root@nfs01 ~]# 

5-2、免交互同步

命令:rsync -avz /etc/hosts [email protected]::backup/nfs01/ --password-file=/etc/rsync.password 
[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup/nfs01/ --password-file=/etc/rsync.password 
sending incremental file list
created directory nfs01
hosts

sent 196 bytes  received 27 bytes  446.00 bytes/sec
total size is 349  speedup is 1.57
[root@nfs01 ~]# 

三、rsync的應用

rsync的各個應用場景及擴展應用
  1. 多模塊的應用
  2. 多用戶的應用

1)多模塊應用

1-1、多臺主機需要備份到同一個模塊如何區分

方案一: 在備份的目錄下各自主機創建一個子目錄用於存放自己的備份文件

rsync -avz /etc/hosts [email protected]::backup/`hostname`/ --password-file=/etc/rsync.password 
使用haostname 創建以及主機名命名的目錄完成備份。
注:rsync模塊中只能創建一級子目錄、不能創建二級子目錄
就是說:
    可以在A模塊下只能創建一個目錄B、不能連續創建A/B/C這種目錄

1-2、多臺主機需要備份到一個模塊下、並且每天備份的內容大致一樣需要將其分開

方案一: 多級目錄備份、rsync模塊備份只能創建一級目錄、不能連續創建兩級目錄。因此這個需求需要預先創建好一級目錄(主機名目錄)

1)在服務端創建好以主機名命名的目錄
#mkdir nfs01
2) 注意創建好目錄的權限
[root@backup backup]# mkdir nfs01
[root@backup backup]# ll
total 4
drwxr-xr-x 2 root root 4096 Dec 16 23:08 nfs01
[root@backup backup]# ll -ld /backup/
drwxr-xr-x 3 rsync rsync 4096 Dec 16 23:08 /backup/
[root@backup backup]# chown -R rsync.rsync /backup/
3)客戶端執行
[root@nfs01 ~]# rsync -avz /etc/hosts  [email protected]::backup/nfs01/`date +%F`/ --password-file=/etc/rsync.password 
sending incremental file list
created directory nfs01/2017-12-16
hosts

sent 196 bytes  received 27 bytes  446.00 bytes/sec
total size is 349  speedup is 1.57
[root@nfs01 ~]# 

1-3 將備份文件分別存放不同目錄

1)創建多個模塊來應用
2)編輯配置文件/etc/rsyncd.cond
3)添加模塊
...
[backup_nfs01]
path = /backup_nfs
comment = "backup dir nfs_list"
[root@backup ~]# 
4)創建目錄並且設置權限
[root@backup ~]# mkdir /backup_nfs
[root@backup ~]# chown -R rsync.rsync /backup_nfs/
[root@backup ~]# ll -ld /backup_nfs/
drwxr-xr-x 2 rsync rsync 4096 Dec 16 23:27 /backup_nfs/
[root@backup ~]# 
注:修改模塊後需要重啓rsync服務的
5)調用模塊
[root@nfs01 ~]# rsync -avz /etc/hosts  [email protected]::backup_nfs01 --password-file=/etc/rsync.password 
sending incremental file list
hosts

sent 196 bytes  received 27 bytes  446.00 bytes/sec
total size is 349  speedup is 1.57
[root@nfs01 ~]# 

rsync常見錯誤彙總

1)啓動過程中

報錯:failed to create pid file /var/run/rsyncd.pid: File exists
翻譯:未能創建PID文件/無功/運行/ rsyncd.pid:文件存在

原因:存在相同文件

rsyncd.pid:文件存在

解決方案:

[root@backup ~]# rm -rf /var/run/rsyncd.pid

然後在重新啓動服務即可

[root@backup ~]# rsync --daemon
[root@backup ~]# 

2)傳輸過程中

報錯信息如下

[root@nfs01 ~]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password
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服務沒有啓動

解決方案:

重啓rsync服務即可

3)認證過程

報錯信息如下:

rsync -avz /etc/sysconfig/network [email protected]::nfsbackup --password-file=/etc/rsync.password 
@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]

原因:

rsync服務端沒有模塊指定的目錄,需要進行創建和授權

解決方案:

1)檢查配置文件中模塊信息
2)檢查備份目錄是否存在
3)檢查備份目錄權限是否爲rsync.rsync
認證失敗:
1)密碼文件權限錯誤(root.root:600)服務端和客戶端要一樣
2)密碼內容需要保持一致
3)配置文件中或者調用中的路徑要正確
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章