rsync遠程同步

rsync遠程同步html

rsync主要實現快速、安全、高效的異地備份,而且實現數據同步。web


一、配置rsync源服務器A(同步源提供數據的原始位置,發起端讀取同步源的數據)安全

1.jpg


1)創建/etc/rsyncd.conf配置文件服務器

Vi  /etc/rsyncd.confssh



2.jpg

注意:若是採用匿名同步的方式,只要將其中的auth userssecrets file配置記錄去掉就能夠了。ide

 

1)爲備份帳戶建立數據文件工具

Vi /etc/rsyncd_users.db測試



3.jpg

1)啓動rsync服務程序網站


4.jpg


若是要結束rsync進程,能夠執行kill $(cat /var/run/rsyncd.pid)spa

 

 

二、使用rsync備份工具(在rsync客戶機,發起端,服務器B

1)例:將文件/etc/fstab、目錄/boot/grub同步備份到/opt目錄下(至關於本地備份)



5.jpg


1)例:將rsync同步源上的網站根目錄下載到本地的/root下進行備份(遠程備份)

首先要配置防火牆:



6.jpg


而後確認rsync同步源上的網站根目錄:


7.jpg


最後在rsync客戶機上執行備份

 

 

注意: chmod 600 /etc/rsyncd_users.db



8.jpg


查看/root下有沒有網頁

9.jpg



1)例:將源服務器中的wwwroot共享模塊(網站根目錄),下載到本地的/myweb目錄下,

(刪除目標位置有而原始位置沒有的文件)

首先確認在客戶機上的/myweb下只有一個網頁(zhongqiu.html

10.jpg


而後執行備份

11.jpg


查看在客戶機的/myweb

(裏面只有同步源服務器上的網頁,本地的zhongqiu.html備份刪除,由於加了--delete的備份選項)

12.jpg


1)例:天天晚上22:30對服務器的網站作一次同步

首先建立一個密碼文件,保存backuper的密碼

13.jpg



裏面內容爲:

14.jpg


而後設置權限,並作計劃任務:


15.jpg

編輯任務計劃(crontab  -e


16.jpg

刪除客戶機的/myweb下的全部數據


17.jpg


當前時間爲10:50,我把計劃任務設置爲10:52(設置完須要從新啓動crond服務)


18.jpg

重啓服務

時間到了以後查看:


19.jpg


三、配置rsync+inotify實時同步

做用:將rsync工具與inotify機制相結合,能夠實現觸發式備份(實時同步),

只要原始位置的文檔發生變化,則當即啓動增量備份操做。

1)調整inotify內核參數(文件數量較多或者變化較頻繁時須要調整,把數值加大)

Vi /etc/sysctl.conf



20.jpg


 

執行sysctl  -p更新

 

 

1)安裝inotify-tools

21.jpg


而後執行make && make install

 

3)以監控網站目錄/var/www/html爲例

(當/var/www/html進行增刪改查的時候就會動態顯示監控信息)



22.jpg

(編寫觸發式同步腳本)

實驗目標:檢測本機/var/www/html目錄,一旦有更新就觸發rsync的同步操做,

上傳備份至服務器192.168.1.7/var/www/html目錄下,實現網站同步,保持兩個站點的文件一致。

相似於dns的主從複製。

 

首先在同步源上進行操做:(配置ssh源分爲四步)

1)建立用戶rput

                   useradd rput && passwd rput

2)開啓sshd服務

                   [root@web html]# service  sshd start

3)容許rput用戶登陸

Vi /etc/ssh/sshd_config

AllowUsers rput@192.168.1.8



23.jpg


3)啓用密鑰對驗證

Vi  /etc/ssh/sshd_config



24.jpg

配置發起端:(實現實時同步須要使用祕鑰對的方式驗證身份)

         1)創建祕鑰對文件實現無交互式登陸(參考遠程控制訪問系統

         [root@web html]# ssh-keygen -t rsa

         建立過程一路回車就能夠了

將公鑰文件上傳至服務器

         [root@web html]# scp ~/.ssh/id.rsa.pub root@192.168.1.7:/tmp

在服務器中導入公鑰文本

Mkdir  -p  /home/rput/.ssh/

Cat /tmp/id_rsa.pub >> /home/rput/.ssh/authorized_keys



25.jpg


)在發起端安裝inofity工具

安裝inotify-tools



26.jpg


而後執行make && make install

 

3)編寫觸發式同步腳本

Vi /opt/inotify_rsync.sh



27.jpg

3)執行腳本

設置權限:Chmod  +x  /opt/inotify_rsync.sh

設置開機自動啓動:Echo  ‘/opt/inotify_rsync.sh’>> /etc/rc.local

執行腳本sh /opt/inotify_rsync.sh

 

注意:若是同步失敗,在服務器上把/var/www/html目錄設置爲全部人寫入權限。

Chmod -R 777 /var/www/html

 

4)清空客戶端/var/www/html中的網頁(方便測試)

28.jpg


3)/var/www/html中添加網頁a.html


29.jpg


3)在服務器192.168.1.7上查看/var/www/html中有沒有a.html (若是有表明同步正常)


30.jpg

至此安裝和配置完成rsync遠程同步系統

相關文章
相關標籤/搜索