rsync備份服務(擴展)
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備份服務(擴展)