一、rsync概述
成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),倉山網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:倉山等地區(qū)。倉山做網(wǎng)站價(jià)格咨詢:18980820575
rsync是類unix系統(tǒng)下的數(shù)據(jù)鏡像備份工具——remote sync。一款支持快速增量備份的工具,支持本地復(fù)制,遠(yuǎn)程同步等,rsync命令來同步系統(tǒng)文件之前要先登錄remote 主機(jī)認(rèn)證,認(rèn)證過程中用到的協(xié)議有2種:ssh 協(xié)議和rsync協(xié)議。
rsync特性
1. 能更新整個(gè)目錄和樹和文件系統(tǒng)
2. 有選擇性的保持符號(hào)鏈接、硬鏈接、文件屬性、權(quán)限、設(shè)備以及時(shí)間等
3. 對(duì)于安裝來說,無任何特殊權(quán)限要求
4. 對(duì)于多個(gè)文件來說,內(nèi)部流水線減少文件等待的延時(shí)
5. 能用rsh、ssh或直接端口作為傳輸入口端口
6. 支持匿名rsync同步文件,是理想的鏡像工具
二、同步源
rsync(服務(wù)器):
指?jìng)浞莶僮鞯倪h(yuǎn)程服務(wù)器,也稱為備份源
主要包括兩種:ssh源、rsync源
2.1、ssh同步源
實(shí)驗(yàn)環(huán)境準(zhǔn)備:一臺(tái)服務(wù)器,一臺(tái)客戶端
在服務(wù)器和客戶端上創(chuàng)建單獨(dú)的測(cè)試目錄(/server/ssh、/client/ssh)
2.1.1、下行同步(下載)
rsync -avz服務(wù)器地址:/服務(wù)器目錄/ 本地目錄
rsync –avz 192.168.115.198:/server/ssh/ /client/ssh/
-a:歸檔模式,遞歸并保留對(duì)象屬性
-v:顯示同步過程
-z:在傳輸文件時(shí)進(jìn)行壓縮
2.1.2、上行同步(上傳)
rsync -avz /本地目錄/* 服務(wù)器地址:/服務(wù)器目錄
首先,在服務(wù)器端創(chuàng)建用來做上行同步的用戶,并給予用戶對(duì)上行同步文件所在的目錄要有權(quán)限執(zhí)行
要結(jié)合setfacl使用,保證安全性
在客戶端進(jìn)行上傳文件
2.2、rsync同步源
實(shí)驗(yàn)環(huán)境準(zhǔn)備:一臺(tái)服務(wù)器,一臺(tái)客戶端
在服務(wù)器和客戶端上創(chuàng)建單獨(dú)的測(cè)試目錄(/server/rsync、/client/rsync)
1)在服務(wù)器端創(chuàng)建主配置文件(/etc/rsyncd.conf)
2)創(chuàng)建密碼文件
3)啟動(dòng)服務(wù) rsync --daemon
2.2.1、下行同步
rsync -avz用戶名@服務(wù)器地址::共享模塊名 /本地目錄
rsync -avz rsync://用戶名@服務(wù)器地址/共享模塊名 /本地目錄
解決方法,修改密碼文件的權(quán)限
之后,重新啟動(dòng)rsync服務(wù)
先關(guān)閉 kill -s QUIT 進(jìn)程號(hào)
再啟動(dòng)時(shí)會(huì)啟動(dòng)不成功,這時(shí)候要?jiǎng)h除進(jìn)程號(hào)的文件
再在客戶端上連接就會(huì)成功了
2.2.2、上行同步
rsync -avz /本地目錄/* 用戶名@服務(wù)器地址::共享模塊名
rsync -avz /本地目錄/* rsync://用戶名@服務(wù)器地址/共享模塊名
首先,要修改模塊的權(quán)限
再測(cè)試,就成功了
--delete刪除目標(biāo)地址有,而源地址沒有的文件
三、免密碼驗(yàn)證
3.1、ssh源(密鑰對(duì))
在客戶端生成密鑰對(duì)
3.2、.rsync同步源(變量)
export RSYNC_PASSWORD=虛擬用戶密碼
四、自動(dòng)實(shí)時(shí)同步備份
定期同步的不足
執(zhí)行備份的時(shí)間固定,延期明顯,實(shí)時(shí)性差
當(dāng)同步源長期不變化時(shí),密集的定期任務(wù)是不必要的
實(shí)時(shí)同步的優(yōu)點(diǎn)
一旦同步源出現(xiàn)變化,立即啟動(dòng)備份
只要同步源無變化,則不執(zhí)行備份
4.1、配置inotify
先配置文件(/etc/sysctl.conf)6.*下的優(yōu)化 (可有可無) | |
mak_queue_events = 16384 | 監(jiān)控隊(duì)列大?。?6384) |
mak_user_instances = 1024 | 最多監(jiān)控實(shí)例數(shù)(1024) |
max_user_watches = 1028576 | 每個(gè)實(shí)例最多監(jiān)控文件數(shù)(1028576) |
環(huán)境配置:安裝gcc*,安裝包準(zhǔn)備好
1)解壓安裝
2)inotifywait:用于持續(xù)監(jiān)控,實(shí)時(shí)輸出結(jié)果
inotifywatch:用于短期監(jiān)控,任務(wù)完成后再出結(jié)果
創(chuàng)建用來做上行同步的用戶,并給予用戶對(duì)上行同步文件所在的目錄要有權(quán)限執(zhí)行
4.2、主從服務(wù)器單向?qū)崟r(shí)同步
rsync+ inotify(實(shí)時(shí)同步,單向同步工具。結(jié)合下面的腳本使用)
測(cè)試驗(yàn)證(實(shí)時(shí)同步,單向同步工具)
4.3、unison + inotify雙向?qū)崟r(shí)同步
4.3.1、實(shí)現(xiàn)雙向免秘鑰文件傳輸
1)實(shí)現(xiàn)同步的兩個(gè)目錄
創(chuàng)建目錄 客戶端: /client/ssh/ 服務(wù)器端: /server/ssh/
2)如若用root來實(shí)現(xiàn)登錄的話,生成密鑰對(duì),以便于免密碼驗(yàn)證
ssh-keygen -t rsa
ssh-copy-id root@192.168.115.199 (服務(wù)器ip)
ssh-keygen -t rsa
ssh-copy-id root@192.168.115.198(客戶端ip)
服務(wù)器端秘鑰生成同上
4.3.2、安裝三個(gè)軟件
1)先安裝inotify(需先安裝gcc*)
2)再安裝ocaml
./configurer make world opt make install
3)安裝unison
把生成的腳本拷貝出來
接下來同樣的操作在服務(wù)器端也做一遍。。。。
4.3.3、配置腳本
客戶端
服務(wù)器端
取消提示信息使用nohup方式執(zhí)行腳本