rsync遠程同步html
rsync主要實現快速、安全、高效的異地備份,而且實現數據同步。web
一、配置rsync源服務器A(同步源提供數據的原始位置,發起端讀取同步源的數據)安全
1)創建/etc/rsyncd.conf配置文件服務器
Vi /etc/rsyncd.confssh
注意:若是採用匿名同步的方式,只要將其中的auth users和secrets file配置記錄去掉就能夠了。ide
1)爲備份帳戶建立數據文件工具
Vi /etc/rsyncd_users.db測試
1)啓動rsync服務程序網站
若是要結束rsync進程,能夠執行kill $(cat /var/run/rsyncd.pid)spa
二、使用rsync備份工具(在rsync客戶機,發起端,服務器B)
1)例:將文件/etc/fstab、目錄/boot/grub同步備份到/opt目錄下(至關於本地備份)
1)例:將rsync同步源上的網站根目錄下載到本地的/root下進行備份(遠程備份)
首先要配置防火牆:
而後確認rsync同步源上的網站根目錄:
最後在rsync客戶機上執行備份
注意: chmod 600 /etc/rsyncd_users.db
查看/root下有沒有網頁
1)例:將源服務器中的wwwroot共享模塊(網站根目錄),下載到本地的/myweb目錄下,
(刪除目標位置有而原始位置沒有的文件)
首先確認在客戶機上的/myweb下只有一個網頁(zhongqiu.html)
而後執行備份
查看在客戶機的/myweb
(裏面只有同步源服務器上的網頁,本地的zhongqiu.html備份刪除,由於加了--delete的備份選項)
1)例:天天晚上22:30對服務器的網站作一次同步
首先建立一個密碼文件,保存backuper的密碼
裏面內容爲:
而後設置權限,並作計劃任務:
編輯任務計劃(crontab -e)
刪除客戶機的/myweb下的全部數據
當前時間爲10:50,我把計劃任務設置爲10:52(設置完須要從新啓動crond服務)
重啓服務
時間到了以後查看:
三、配置rsync+inotify實時同步
做用:將rsync工具與inotify機制相結合,能夠實現觸發式備份(實時同步),
只要原始位置的文檔發生變化,則當即啓動增量備份操做。
1)調整inotify內核參數(文件數量較多或者變化較頻繁時須要調整,把數值加大)
Vi /etc/sysctl.conf
執行sysctl -p更新
1)安裝inotify-tools
而後執行make && make install
3)以監控網站目錄/var/www/html爲例
(當/var/www/html進行增刪改查的時候就會動態顯示監控信息)
(編寫觸發式同步腳本)
實驗目標:檢測本機/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
3)啓用密鑰對驗證
Vi /etc/ssh/sshd_config
配置發起端:(實現實時同步須要使用祕鑰對的方式驗證身份)
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
)在發起端安裝inofity工具
安裝inotify-tools
而後執行make && make install
3)編寫觸發式同步腳本
Vi /opt/inotify_rsync.sh
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中的網頁(方便測試)
3)在/var/www/html中添加網頁a.html
3)在服務器192.168.1.7上查看/var/www/html中有沒有a.html (若是有表明同步正常)
至此安裝和配置完成rsync遠程同步系統