您好,登錄后才能下訂單哦!
一、rsync概述
rsync是類unix系統下的數據鏡像備份工具——remote sync。一款支持快速增量備份的工具,支持本地復制,遠程同步等,rsync 命令來同步系統文件之前要先登錄remote 主機認證,認證過程中用到的協議有2種:ssh 協議和rsync協議。
rsync特性
1. 能更新整個目錄和樹和文件系統
2. 有選擇性的保持符號鏈接、硬鏈接、文件屬性、權限、設備以及時間等
3. 對于安裝來說,無任何特殊權限要求
4. 對于多個文件來說,內部流水線減少文件等待的延時
5. 能用rsh、ssh或直接端口作為傳輸入口端口
6. 支持匿名rsync同步文件,是理想的鏡像工具
二、同步源
rsync(服務器):
指備份操作的遠程服務器,也稱為備份源
主要包括兩種:ssh源、rsync源
2.1、ssh同步源
實驗環境準備:一臺服務器,一臺客戶端
在服務器和客戶端上創建單獨的測試目錄(/server/ssh、/client/ssh)
2.1.1、下行同步(下載)
rsync -avz 服務器地址:/服務器目錄/ 本地目錄
rsync –avz 192.168.115.198:/server/ssh/ /client/ssh/
-a:歸檔模式,遞歸并保留對象屬性
-v:顯示同步過程
-z:在傳輸文件時進行壓縮
2.1.2、上行同步(上傳)
rsync -avz /本地目錄/* 服務器地址:/服務器目錄
首先,在服務器端創建用來做上行同步的用戶,并給予用戶對上行同步文件所在的目錄要有權限執行
要結合setfacl使用,保證安全性
在客戶端進行上傳文件
2.2、rsync同步源
實驗環境準備:一臺服務器,一臺客戶端
在服務器和客戶端上創建單獨的測試目錄(/server/rsync、/client/rsync)
1)在服務器端創建主配置文件(/etc/rsyncd.conf)
2)創建密碼文件
3)啟動服務 rsync --daemon
2.2.1、下行同步
rsync -avz 用戶名@服務器地址::共享模塊名 /本地目錄
rsync -avz rsync://用戶名@服務器地址/共享模塊名 /本地目錄
解決方法,修改密碼文件的權限
之后,重新啟動rsync服務
先關閉 kill -s QUIT 進程號
再啟動時會啟動不成功,這時候要刪除進程號的文件
再在客戶端上連接就會成功了
2.2.2、上行同步
rsync -avz /本地目錄/* 用戶名@服務器地址::共享模塊名
rsync -avz /本地目錄/* rsync://用戶名@服務器地址/共享模塊名
首先,要修改模塊的權限
再測試,就成功了
--delete刪除目標地址有,而源地址沒有的文件
三、免密碼驗證
3.1、ssh源(密鑰對)
在客戶端生成密鑰對
3.2、.rsync同步源(變量)
export RSYNC_PASSWORD=虛擬用戶密碼
四、自動實時同步備份
定期同步的不足
執行備份的時間固定,延期明顯,實時性差
當同步源長期不變化時,密集的定期任務是不必要的
實時同步的優點
一旦同步源出現變化,立即啟動備份
只要同步源無變化,則不執行備份
4.1、配置inotify
先配置文件(/etc/sysctl.conf)6.*下的優化 (可有可無) | |
mak_queue_events = 16384 | 監控隊列大小(16384) |
mak_user_instances = 1024 | 最多監控實例數(1024) |
max_user_watches = 1028576 | 每個實例最多監控文件數(1028576) |
環境配置:安裝gcc*,安裝包準備好
1)解壓安裝
2)inotifywait:用于持續監控,實時輸出結果
inotifywatch:用于短期監控,任務完成后再出結果
創建用來做上行同步的用戶,并給予用戶對上行同步文件所在的目錄要有權限執行
4.2、主從服務器單向實時同步
rsync+ inotify(實時同步,單向同步工具。結合下面的腳本使用)
測試驗證(實時同步,單向同步工具)
4.3、unison + inotify 雙向實時同步
4.3.1、實現雙向免秘鑰文件傳輸
1)實現同步的兩個目錄
創建目錄 客戶端: /client/ssh/ 服務器端: /server/ssh/
2)如若用root來實現登錄的話,生成密鑰對,以便于免密碼驗證
ssh-keygen -t rsa
ssh-copy-id root@192.168.115.199 (服務器ip)
ssh-keygen -t rsa
ssh-copy-id root@192.168.115.198(客戶端ip)
服務器端秘鑰生成同上
4.3.2、安裝三個軟件
1)先安裝inotify(需先安裝gcc*)
2)再安裝ocaml
./configurer make world opt make install
3)安裝unison
把生成的腳本拷貝出來
接下來同樣的操作在服務器端也做一遍。。。。
4.3.3、配置腳本
客戶端
服務器端
取消提示信息使用nohup方式執行腳本
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。