rsync遠程同步_第1頁
rsync遠程同步_第2頁
rsync遠程同步_第3頁
rsync遠程同步_第4頁
rsync遠程同步_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第六章第六章 rsync遠程同步遠程同步 理論部分 rsync遠程同步 如何創(chuàng)建一個軟RAID磁盤陣列? 如何創(chuàng)建iSCSI對象、劃分LUN空間? 在客戶機中如何發(fā)現(xiàn)、掛載iSCSI存儲設備? 課程回顧 學會配置rsync備份源 學會rsync下行、上行異地備份 學會rsync+inotify實時備份 技能展示 本章結構 rsync遠程同步遠程同步 上行、下行同步操作上行、下行同步操作 編寫編寫rsync備份腳本備份腳本 配置配置SSH備份源備份源 配置配置rsync備份源備份源 配置配置rsync源服務器源服務器 使用使用rsync備份工具備份工具 配置配置inotify實時同步實時同步rs

2、ync+inotify結合使用結合使用 一款快速增量備份工具 Remote Sync,遠程同步 支持本地復制,或者與其他SSH、rsync主機同步 官方網(wǎng)站:/ 關于rsync rsync同步源 指備份操作的遠程服務器,也稱為備份源 主要包括兩種:rsync源、SSH源 配置rsync源服務器 服務器服務器A A (rsync或SSH,同步源) 上行同步(上傳) 服務器服務器B BAAAA (rsync客戶機,發(fā)起端) InternetInternet 下行同步(下載) 基本思路 啟用sshd服務,并分別建立上傳、下載用戶 為需要同步的目錄設置訪問權限

3、 應用示例 用戶rget、rput,分別可下載、上傳 操作的目錄為 /var/www/html/ Nginx服務對 /upload/ 子目錄有寫入權限 配置SSH源2-1 文件和目錄ACL mount參數(shù):acl、noacl 主要管理工具:setfacl、getfacl 配置SSH源2-2 rootlocalhost # chown -R rput:rput /var/www/html rootlocalhost # setfacl -R -m user:nginx:rwx /var/www/html/upload rootlocalhost # setfacl -m default:user

4、:nginx:rwx /var/www/html/upload rootlocalhost # ls -ld /var/www/html/ /var/www/html/upload/ drwxr-xr-x 3 rput rput 4096 11月 29 01:35 /var/www/html/ drwxrwxr-x+ 2 rput rput 4096 11月 29 01:35 /var/www/html/upload/ 遞歸添加遞歸添加ACLACL條目條目 為目錄設置默認為目錄設置默認ACLACL rootlocalhost # getfacl /var/www/html/upload/ us

5、er:rwx user:nginx:rwx default:user:rwx default:user:nginx:rwx rootlocalhost # setfacl -R -b /var/www/html/upload/ 清除所有清除所有ACLACL條目,條目, 改用改用“-x user:.-x user:.”可只刪除指定可只刪除指定ACLACL條目條目 新添加的新添加的ACLACL權限控制權限控制 基本思路 建立rsyncd.conf配置文件、獨立的賬號文件 啟用rsync的-daemon模式 應用示例 用戶backuper,允許下行同步 操作的目錄為 /var/www/html/ 配

6、置rsync源3-1 配置文件rsyncd.conf 需手動建立,語法類似于Samba配置 認證配置auth users、secrets file,不加則為匿名 rsync賬號文件 采用“用戶名:密碼”的記錄格式 獨立的賬號數(shù)據(jù),不依賴于系統(tǒng)賬號 配置rsync源3-2 rootlocalhost # vi /etc/rsyncd_users.db backuper:pwd123 othername:123456 rootlocalhost # chmod 600 /etc/rsyncd_users.db 每行一個用戶記錄每行一個用戶記錄 rootlocalhost # vi /etc/rsy

7、ncd.conf uid = nobody gid = nobody use chroot = yes address = port 873 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid hosts allow = /24 wwwroot path = /var/www/html comment = Document Root of read only = yes dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z auth

8、users = backuper secrets file = /etc/rsyncd_users.db 允許訪問的客戶機地址允許訪問的客戶機地址 同步時不再壓縮的文件同步時不再壓縮的文件 用戶認證信息用戶認證信息 啟用rsync服務 通過-daemon獨自提供服務 或者,通過超級服務器xinetd提供服務 配置rsync源3-3 rootlocalhost # rsync -daemon rootlocalhost # netstat -anpt | grep rsync tcp 0 0 00:873 :* LISTEN 21182/rsync rootl

9、ocalhost # kill $(cat /var/run/rsyncd.pid) rsyncrsync服務的服務的PIDPID文件文件 rootlocalhost # vi /etc/xinetd.d/rsync service rsync disable = no server = /usr/bin/rsync server_args = -daemon log_on_failure += USERID rootlocalhost # yum -y install xinetd rootlocalhost # service xinetd start 啟用啟用xinetdxinetd即自

10、動接管即自動接管rsyncrsync服務服務 rsync命令的用法 基本格式:rsync 選項 原始位置 目標位置 常用選項: n-a:歸檔模式,遞歸并保留對象屬性,等同于 - rlptgoD n-v:顯示同步過程的詳細(verbose)信息 n-z:在傳輸文件時進行壓縮(compress) n-H:保留硬連接文件 n-A:保留ACL屬性信息 n-delete:刪除目標位置有而原始位置沒有的文件 n-checksum:根據(jù)對象的校驗和來決定是否跳過文 件 使用rsync備份工具3-1 -r-r:遞歸模式,包含目錄及子目錄中所有文件:遞歸模式,包含目錄及子目錄中所有文件 -l-l:對于符號鏈接文

11、件仍然復制為符號鏈接文件:對于符號鏈接文件仍然復制為符號鏈接文件 -p-p:保留文件的權限標記:保留文件的權限標記 -t-t:保留文件的時間標記:保留文件的時間標記 -g-g:保留文件的屬組標記(僅超級用戶使用):保留文件的屬組標記(僅超級用戶使用) -o-o:保留文件的屬主標記(僅超級用戶使用):保留文件的屬主標記(僅超級用戶使用) -D-D:保留設備文件及其他特殊文件:保留設備文件及其他特殊文件 備份操作類型 本地同步 nrsync . 本地目錄1 本地目錄2 rsync+ssh同步 nrsync . SSH源 本地目錄 nrsync . 本地目錄 SSH源 rsync+rsync同步 n

12、rsync . rsync源 本地目錄 nrsync . 本地目錄 rsync源 使用rsync備份工具3-2 下行同步(下載)下行同步(下載) 上行同步(上傳)上行同步(上傳) rsync同步操作示例 下行SSH源:/var/www/html /wwwroot 下行rsync源:wwwroot共享 /myweb 上行SSH源:/usr/./HTML/zh_CN /var/www/html 使用rsync備份工具3-3 rootlocalhost # mkdir /wwwroot rootlocalhost # rsync -avzH -delete rget:/var/

13、www/html/ /wwwroot rgets password: receiving incremental file list created directory /wwwroot html/ html/index.html html/style/ 驗證驗證SSHSSH用戶用戶rgetrget的密碼的密碼 rootlocalhost # mkdir /myweb rootlocalhost # rsync -avzH -delete backuper:wwwroot /myweb Password: receiving incremental

14、file list ./ index.html index.php 驗證驗證rsyncrsync用戶用戶backuperbackuper的密碼的密碼 rootlocalhost # cd /usr/share/doc/HTML/ rootlocalhost HTML# rsync -rlvz -delete zh-CN/ rput:/var/www/html rputs password: sending incremental file list deleting index.php feedback.html index.html common/

15、 common/RHEL6_720 x60.png 驗證驗證SSHSSH用戶用戶rputrput的密碼的密碼 請思考: 如何配置可匿名訪問的rsync服務器? 根據(jù)源的不同,rsync的備份操作有哪幾種類型? 使用rsync命令時,SSH源、rsync源分別如何表示? 小結 SSH源的免交互處理 采用SSH密鑰對驗證,將密鑰短語設為空 rsync腳本的交互處理2-1 rootlocalhost # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/roo

16、t/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. rootlocalhost # ssh-copy-id rget rgets password: 直接回車設為空串直接回車設為空串 將公鑰分發(fā)至遠程服

17、務器將公鑰分發(fā)至遠程服務器 rsync源的免交互處理 設置環(huán)境變量:RSYNC_PASSWORD 或者,使用 -password-file= 選項調用密碼文件 rsync腳本的交互處理2-2 rootlocalhost # vi /root/rsync_get_wwwroot.sh #!/bin/bash CMD=/usr/bin/rsync RSYNC_USER=backuper RSYNC_PASSWROD=pwd123 ARGS=-az -delete SRC=:wwwroot DST=/wwwroot mkdir -p $DST $CMD $ARGS $RSYNC

18、_USER$SRC $DST 自動讀取密碼,免除交互自動讀取密碼,免除交互 定期同步的不足 執(zhí)行備份的時間固定,延遲明顯、實時性差 當同步源長期不變化時,密集的定期任務是不必要的 實時同步的優(yōu)點 一旦同步源出現(xiàn)變化,立即啟動備份 只要同步源無變化,則不執(zhí)行備份 rsync實時同步 Linux內核的inotify機制 從版本2.6.13開始提供 可以監(jiān)控文件系統(tǒng)的變動情況,并作出通知響應 輔助軟件:inotify-tools 關于inotify 服務器服務器A A (rsync或SSH,備份源) 上行同步(上傳) 服務器服務器B BAAAA (rsync客戶機,發(fā)起端) InternetInte

19、rnet inotify觸發(fā) 本地文件系統(tǒng) 調整inotify內核參數(shù) max_queue_events:監(jiān)控隊列大小 max_user_instances:最多監(jiān)控實例數(shù) max_user_watches:每個實例最多監(jiān)控文件數(shù) rsync+inotify實時同步3-1 rootlocalhost # vi /etc/sysctl.conf fs.inotify.max_queued_events = 16384 fs.inotify.max_user_instances = 1024 fs.inotify.max_user_watches = 1048576 rootlocalhost #

20、 sysctl -p 應大于監(jiān)控目標的總文件數(shù)應大于監(jiān)控目標的總文件數(shù) 安裝inotify-tools輔助工具 inotifywait:用于持續(xù)監(jiān)控,實時輸出結果 inotifywatch:用于短期監(jiān)控,任務完成后再出結果 rsync+inotify實時同步3-2 rootlocalhost # inotifywait -mrq -e modify,create,move,delete /var/www/html Setting up watches. Beware: since -r was given, this may take a while! Watches established.

21、 /var/www/html/ CREATE index.php /var/www/html/ MODIFY index.php /var/www/html/ MOVED_FROM index.php /var/www/html/ MOVED_TO test.php -m-m,持續(xù)進行監(jiān)控,持續(xù)進行監(jiān)控 -r-r,遞歸監(jiān)控所有子對象,遞歸監(jiān)控所有子對象 -q-q,簡化輸出信息,簡化輸出信息 -e-e,指定要監(jiān)控哪些事件類型,指定要監(jiān)控哪些事件類型 通過inotifywait觸發(fā)rsync同步操作 使用while、read持續(xù)獲取監(jiān)控結果 根據(jù)結果可以作進一步判斷,決定執(zhí)行何種操作 rsync+

22、inotify實時同步3-3 rootlocalhost # vi /opt/inotify_rsync.sh #!/bin/bash INOTIFY_CMD=inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/ RSYNC_CMD=rsync -azH -delete /var/www/html/ rput:/var/www/html $INOTIFY_CMD | while read DIRECTORY EVENT FILE do if $(pgrep rsync | wc -l) -le 0 ; then $RSYNC_CMD fi done 讀取輸出的監(jiān)控記錄讀取輸出的監(jiān)控記錄 如果如果rsyncrsync未在執(zhí)行,則立即啟動未在執(zhí)行,則立

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論