rsync遠程同步

簡介:一款快速增量備份工具
Remote Sync,遠程同步
支持本地複製,或者與其他SSH、rsync主機同步
官方網站:http://rsync.samba.org/
在遠程同步任務中,負責發起rsync同步操作的客戶機稱爲發起端,而負責響應來自客戶機的rsync同步操作的服務器稱爲同步源。在同步過程中,同步源負責提供文檔的原始位置,發起端應對該位置具有讀取權限。
rsync同步示意圖:
rsync遠程同步
rsync命令的用法
基本格式:rsync [選項] 原始位置 目標位置
常用選項:
-a:歸檔模式,遞歸併保留對象屬性,等同於 -rlptgoD
-v:顯示同步過程的詳細(verbose)信息
-z:在傳輸文件時進行壓縮(compress)
-H:保留硬連接文件
-A:保留ACL屬性信息
--delete:刪除目標位置有而原始位置沒有的文件
--checksum:根據對象的校驗和
-r:遞歸模式,包含目錄及子目錄中所有文件
-l:對於符號鏈接文件仍然複製爲符號鏈接文件
-p:保留文件的權限標記
-t:保留文件的時間標記
-g:保留文件的屬組標記(僅超級用戶使用)
-o:保留文件的屬主標記(僅超級用戶使用)
-D:保留設備文件及其他特殊文件

配置rsync同步源:
1.建立/etc/rsync.conf配置文件
rsync遠程同步
注意:如果採用匿名同步的方式,只要將其中的auth users和secrets file配置記錄去掉就可以了。
2.爲備份賬戶創建數據文件,vim /etc/rsync_users.db,添加一行用戶記錄,以冒號分隔,用戶名稱爲“backuper”,密碼爲“abc123”
rsync遠程同步
3.啓動rsync服務程序,運行參數爲“--daemon”,若要關閉rsync服務,可以採取kill進程的方式,如kill $(cat /var/run/rsyncd.pid)
rsync遠程同步
4.使用rsync備份工具(在rsync客戶機,發起端,服務器B)
1)例:將文件/etc/fstab、目錄/boot/grub同步備份到/opt目錄下(相當於本地備份)
rsync遠程同步
2)例:將rsync同步源上的網站根目錄下載到本地的/root下進行備份(遠程備份)
首先在服務器上配置防火牆,爲了保證備份賬戶文件的安全,需要調整文件權限,避免賬號信息泄露。並搭建一個簡單的網頁。
rsync遠程同步
3)執行遠程備份
rsync遠程同步
4)例:將源服務器中的wwwroot共享模塊(網站根目錄),下載到本地的/myweb目錄下,(刪除目標位置有而原始位置沒有的文件)首先確認在客戶機上的/myweb下只有一個網頁
rsync遠程同步
然後執行備份
rsync遠程同步
查看在客戶機的/myweb(裏面只有同步源服務器上的網頁,本地的t385.html備份刪除,因爲加了--delete的備份選項)
rsync遠程同步
爲了在同步過程中不用輸入密碼,需要創建一個密碼文件。在執行rsync同步時使用選項“--password-file=密碼文件路徑”指定即可
rsync遠程同步
調整密碼文件權限,創建任務計劃
rsync遠程同步
rsync遠程同步
驗證結果
rsync遠程同步
5.配置rsync+inotify實時同步
1)調整inotify內核參數,並讓其生效
rsync遠程同步
rsync遠程同步
2)安裝inotify-tools
rsync遠程同步
配置完後,執行make && make install命令
3)以監控網站目錄/var/www/html爲例(當/var/www/html進行增刪改查的時候就會動態顯示監控信息)
rsync遠程同步
6.編寫觸發式同步腳本
首先在同步源上進行操作(配置ssh)
1)創建用戶rput: useradd rput && passwd rput
2)開啓sshd服務: [root@web html]# service sshd start
3)允許rput用戶登錄: Vi /etc/ssh/sshd_config
添加:AllowUsers [email protected]
rsync遠程同步
啓用密鑰對驗證
rsync遠程同步
配置發起端:(實現實時同步需要使用祕鑰對的方式驗證身份)
1)建立祕鑰對文件實現無交互式登錄
rsync遠程同步
將公鑰文件上傳至服務器
rsync遠程同步
在服務器中導入公鑰文本
rsync遠程同步
2)編寫觸發式同步腳本
Vi /opt/inotify_rsync.sh
rsync遠程同步
設置執行權限,和開機自啓動
rsync遠程同步
注意:如果同步失敗,在服務器上把/var/www/html目錄設置爲所有人寫入權限。
Chmod -R 777 /var/www/html
rsync遠程同步
清空客戶端/var/www/html中的網頁(方便測試)
rsync遠程同步
在/var/www/html中添加網頁aaa.html
rsync遠程同步
在服務器192.168.1.7上查看/var/www/html中有沒有aaa.html (如果有代表同步正常)
rsync遠程同步

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章