1. 程式人生 > >rsync備份服務(擴展)

rsync備份服務(擴展)

white -s host 部分 --delete 命令參數 useradd star list

1.1客戶端部署:

1)進行測試傳輸備份數據:

NFS推送數據到rsync rsync -avz /etc/hosts [email protected]::backup

2)如果想實現免交互方式傳輸數據,客戶端要完成以下操作

1. 創建密碼文件,並修改權限為600

echo "oldboy123" >> /etc/rsync.password

chmod 600 /etc/rsync.password

2. 進行免交換傳輸數據測試

rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync_password


1.1.1 rsync守護進程模式數據傳輸原理:

客戶執行命令訪問推送數據到服務器,首先會被攔截確認客戶身份是否為認證用戶,如果確認沒錯會詢問認證用戶對應秘鑰,那麽通過後進來服務器後身份會被轉換為rsync身份,而備份目錄也只有rsync才可以寫入,所以剛好將數據寫入(如果進來後是其他用戶,則沒有權限訪問備份目錄)

技術分享圖片


1.1.2 在實際工作中部署rsync軟件方案

1. 在備份服務器上部署rsync軟件服務,使用推的方式進行數據傳輸

定時和實時備份用於什麽人員?

1)采用定時備份:備份的數據信息大部分是內部人員產生的

2)采用實時備份:備份的數據信息大部分是外部人員產生的

1.1.3 rsync命令參數說明(
man rsync

-v:輸出詳細信息(rsync是增量備份,沒有數據傳輸,顯示為空

-z:壓縮

-a:歸檔模式,包含-rtopgDl

-p:保存傳輸過去的文件權限不變

例:如何保持備份傳輸過去的文件權限不變 (-p的功能)

1)修改配置文件——uid gid = root

註:如果將uid和gid前面註釋掉,會默認成功nobody用戶

2)更改備份目錄的屬主為root

3)客戶端在傳輸數據測試

-P:顯示傳輸進度

-D:保持設備文件信息

--exclude=文件名 :排除的文件名

--exclude-from=file :排除的所有文件(將路徑寫入到這個文件中

--delete:無差異同步(保存數據一致性

--bwlimit=RATE:限速功能

-e:指定加密隧道方式傳輸數據,如ssh、rcp、rsh(不能用在守護進程備份方式

例:rsync -avz -e "ssh -p22" /home/oldboy/oldboy_test.txt 172.16.1.41:/backup

1.1.5 rsync擴展應用說明

1. rsync服務特殊啟動方法

利用xinetd服務啟動rsync守護進程服務流程:

1)確認是否安裝了xinetd服務軟件

安裝方法:

rpm -qa|grep xinetd
yum install -y xinetd

2)配置xinetd文件,讓rsync服務允許被超級守護進程管理

vim /etc/xinetd.d/rsync

disable = yes 修改為no (意思就是允許xinetd管理)

3)確認rsync守護進程已關閉

netstat -lnptu|grep rsync

4)啟動xinetd服務

/etc/init.d/xinetd start

2. 守護進程多模塊功能配置

1)編輯配置文件,添加模塊

vim /etc/rsyncd.conf

[backup]

comment = "backup dir by oldboy"

path = /backup

[devbackup]

comment = "backup dir by oldboy"

path = /devbackup

[sabackup]

comment = "backup dir by oldboy"

path = /sabackup

2)重啟rsync服務

方法一:killall rsync

方法二:/etc/init.d/xinetd restart

3)創建其他備份目錄,修改目錄權限

chown -R rsync.rsync /{backup ,devbackup,sabackup}/

4)rsync客戶端測試

rsync --delete -avz /etc/hosts [email protected]::sabackup --password-file=/etc/rsync.password

rsync --delete -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password

rsync --delete -avz /etc/hosts [email protected]::devbackup --password-file=/etc/rsync.password

3. 多模塊多用戶管理

1)創建多個用戶(rsync、sa、dev)

useradd -M -s /sbin/nologin sa

2)修改rsync配置文件,創建多個模塊

註:配置文件分為兩部分:

1. 全局配置部分:對所有模塊都生效

2. 局部配置部分:對指定模塊生效

去掉全局配置的uid,gid,每個模塊都寫入對應的uid gid和對應的path路徑

3)對每個模塊的備份目錄進行分別授權

chown -R rsync.rsync /backup/

chown -R sa.sa /backup/

chown -R dev.dev /backup/

4)重啟服務

rsync --daemon

1.1.6 守護進程的排除功能實現

1. 創建測試環境:NFS服務器上操作

mkdir /oldboy/{a..d}

touch /oldboy/{a..d}/{1..3}.txt

2. 實現數據同步傳輸排除方法

1) --exclude實現排除需求:不要a和b 只要c目錄所有數據 d目錄中只要1和3文件

方法一:--exclude= 執行排除的文件或目錄信息

rsync -avz /oldboy_dir/ --exclude=a --exclude=b --exclude=d/2 [email protected]::backup --password-file=/etc/rsync.password

方法二:--exclude-file= 指定排除的多個數據信息文件

1. 將exclude.txt文件從同步數據目錄中移出

2.將exclude.txt排除文件放在/tmp/目錄下

:在這個排除文件中,要排除的每個文件或者目錄,單獨占一行


1.1.7 守護進程來創建備份目錄

rsync -avz /oldboy_dir/c [email protected]::backup/ --password-file=/etc/rsync.password

註:無法實現創建多及目錄(類似mkdir -p功能)

1.1.8 守護進程實現訪問控制配置

白名單:hosts allow = 172.16.1.41/24

黑名單:hosts deny = 0.0.0.0/32

情況一:只有白名單

只允許白名單的用戶訪問

情況二:只有黑名單

允許不在黑名單的用戶訪問

情況三:白名單和黑名單中都沒有的用戶

最後結果:允許

情況四:白名單和黑名單中都有的用戶

最後結果:允許

技術分享圖片

1.1.9 守護進程無差異同步配置

1. 實現無差異同步的方法:

rsync -avz --delete /oldboy_dir/ [email protected]::backup --password-file=/etc/rsync.password

註:客戶端加參數- -delete

2. 無差異同步:就是存儲與備份服務數據完全一致(我有的數據你也有,我沒有的你也別想有)

1.1.10 守護進程的列表功能配置

1. 配置文件中:

list = true 可以讓rsync客戶端查看到rsync服務端的模塊信息

list = false 不可以讓rsync客戶端查看到rsync服務端的模塊信息

註:一般為false更安全,避免其他模塊的用戶知道信息後常識做一些手腳

2. 客戶端查看方法:rsync -avz [email protected]::


rsync備份服務(擴展)