W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
防偽碼:既然目標是地平線,留給世界的只能是背影
第十三章 rsync遠程同步
前言:本章主要講解實現(xiàn)快速、安全、高效的異地備份,編寫觸發(fā)式同步腳本,實現(xiàn)數據同步。
一、理論部分實驗
1、 配置rsync源服務器A(同步源提供數據的原始位置,發(fā)起端讀取同步源的數據)
1)建立/etc/rsyncd.conf配置文件
Vi /etc/rsyncd.conf
注意:如果采用匿名同步的方式,只要將其中的auth users和secrets file配置記錄去掉就可以了。
2) 為備份賬戶創(chuàng)建數據文件
Vi /etc/rsyncd_users.db
3)啟動rsync服務程序
如果要結束rsync進程,可以執(zhí)行kill $(cat /var/run/rsyncd.pid)
2、 使用rsync備份工具(在rsync客戶機,發(fā)起端,服務器B)
1) 例:將文件/etc/fstab、目錄/boot/grub同步備份到/opt目錄下(相當于本地備份)
2) 例:將rsync同步源上的網站根目錄下載到本地的/root下進行備份(遠程備份)
首先要配置防火墻:
然后確認rsync同步源上的網站根目錄:
最后在rsync客戶機上執(zhí)行備份
查看/root下有沒有網頁
3) 例:將源服務器中的wwwroot共享模塊(網站根目錄),下載到本地的/myweb目錄下,(刪除目標位置有而原始位置沒有的文件)
首先確認在客戶機上的/myweb下只有一個網頁(123.html)
然后執(zhí)行備份
注:-a表示遞歸模式,保留文件的權限、屬性等信息
-v表示顯示同步過程的詳細信息
-z表示在傳輸文件時進行壓縮
-H表示保留硬連接文件
--delete表示刪除目標位置有而原始位置沒有的文件(更安全)
查看在客戶機的/myweb(里面只有同步源服務器上的網頁,本地的123.html備份刪除,因為加了--delete的備份選項)
4) 例:每天晚上22:30對服務器的網站做一次同步
首先創(chuàng)建一個密碼文件,保存backuper的密碼
里面內容為pwd123:
然后設置權限,并做計劃任務:
編輯任務計劃(crontab -e)
刪除客戶機的/myweb下的所有數據
當前時間為23:23,我把計劃任務設置為23:24
時間到了之后查看:
3、 配置rsync+inotify實時同步
作用:將rsync工具與inotify機制相結合,可以實現(xiàn)觸發(fā)式備份(實時同步),只要原始位置的文檔發(fā)生變化,則立即啟動增量備份操作。
1) 調整inotify內核參數(文件數量較多或者變化較頻繁時需要調整,把數值加大)
Vi /etc/sysctl.conf
執(zhí)行sysctl -p更新
2) 安裝inotify-tools(軟件到ftp或本機上找)
先執(zhí)行configure,然后執(zhí)行make && make install
3)以監(jiān)控網站目錄/var/www/html為例(當/var/www/html進行增刪改查的時候就會動態(tài)顯示監(jiān)控信息)
注:-m表示持續(xù)監(jiān)控
-r表示遞歸整個目錄
-q表示簡化輸出信息
-e表是用來指定要監(jiān)控哪些事件
二、 綜合實驗(編寫觸發(fā)式同步腳本)
實驗目標:檢測本機/var/www/html目錄,一旦有更新就觸發(fā)rsync的同步操作,上傳備份至服務器192.168.1.7的/var/www/html目錄下,實現(xiàn)網站同步,保持兩個站點的文件一致。類似于dns的主從復制。
首先在同步源上進行操作:(配置ssh源分為四步)
1)創(chuàng)建用戶rput
useradd rput && passwd rput
2)開啟sshd服務
service sshd start
3) 允許rput用戶登錄
Vi /etc/ssh/sshd_config
AllowUsers rput@192.168.1.8
4) 啟用密鑰對驗證
Vi /etc/ssh/sshd_config
配置發(fā)起端:(實現(xiàn)實時同步需要使用秘鑰對的方式驗證身份)
1)建立秘鑰對文件實現(xiàn)無交互式登錄
客戶機(發(fā)起端)創(chuàng)秘鑰對(公鑰、私鑰)
上傳公鑰文件
導入公鑰信息到數據庫文件
使用秘鑰對驗證
2)在發(fā)起端安裝inofity工具
安裝inotify-tools(同上,安裝包在附件中)
3) 編寫觸發(fā)式同步腳本
Vi /opt/inotify_rsync.sh
4) 執(zhí)行腳本
設置權限:Chmod +x /opt/inotify_rsync.sh
設置開機自動啟動:Echo ‘/opt/inotify_rsync.sh’ >> /etc/rc.local
執(zhí)行腳本sh /opt/inotify_rsync.sh
5) 清空客戶端/var/www/html中的網頁(方便測試)
6) 在/var/www/html中添加網頁yangwen.html
7) 在服務器192.168.1.7上查看/var/www/html中有沒有a.html (如果有代表同步正常)
注:若實驗不通,則給同步源192.168.1.7中的/var/www/html修改屬性
例如:
謝謝觀看,真心的希望能幫到您!
本文出自 “一盞燭光” 博客,謝絕轉載!
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: