Linux rsync遠(yuǎn)程同步

2018-07-31 14:42 更新

防偽碼:既然目標(biāo)是地平線,留給世界的只能是背影

                                                          第十三章  rsync遠(yuǎn)程同步

前言:本章主要講解實(shí)現(xiàn)快速、安全、高效的異地備份,編寫觸發(fā)式同步腳本,實(shí)現(xiàn)數(shù)據(jù)同步。

一、理論部分實(shí)驗(yàn)

1、 配置rsync源服務(wù)器A(同步源提供數(shù)據(jù)的原始位置,發(fā)起端讀取同步源的數(shù)據(jù))

1)建立/etc/rsyncd.conf配置文件

Vi  /etc/rsyncd.conf

注意:如果采用匿名同步的方式,只要將其中的auth users和secrets file配置記錄去掉就可以了。

2) 為備份賬戶創(chuàng)建數(shù)據(jù)文件

Vi /etc/rsyncd_users.db

3)啟動(dòng)rsync服務(wù)程序

如果要結(jié)束rsync進(jìn)程,可以執(zhí)行kill $(cat /var/run/rsyncd.pid)

2、 使用rsync備份工具(在rsync客戶機(jī),發(fā)起端,服務(wù)器B)

1) 例:將文件/etc/fstab、目錄/boot/grub同步備份到/opt目錄下(相當(dāng)于本地備份)

 


2) 例:將rsync同步源上的網(wǎng)站根目錄下載到本地的/root下進(jìn)行備份(遠(yuǎn)程備份)

首先要配置防火墻:

然后確認(rèn)rsync同步源上的網(wǎng)站根目錄:

最后在rsync客戶機(jī)上執(zhí)行備份

查看/root下有沒有網(wǎng)頁

3) 例:將源服務(wù)器中的wwwroot共享模塊(網(wǎng)站根目錄),下載到本地的/myweb目錄下,(刪除目標(biāo)位置有而原始位置沒有的文件)

首先確認(rèn)在客戶機(jī)上的/myweb下只有一個(gè)網(wǎng)頁(123.html)

然后執(zhí)行備份

注:-a表示遞歸模式,保留文件的權(quán)限、屬性等信息

-v表示顯示同步過程的詳細(xì)信息

-z表示在傳輸文件時(shí)進(jìn)行壓縮

-H表示保留硬連接文件

--delete表示刪除目標(biāo)位置有而原始位置沒有的文件(更安全)

查看在客戶機(jī)的/myweb(里面只有同步源服務(wù)器上的網(wǎng)頁,本地的123.html備份刪除,因?yàn)榧恿?-delete的備份選項(xiàng))

4) 例:每天晚上22:30對服務(wù)器的網(wǎng)站做一次同步

首先創(chuàng)建一個(gè)密碼文件,保存backuper的密碼

里面內(nèi)容為pwd123:

然后設(shè)置權(quán)限,并做計(jì)劃任務(wù):

編輯任務(wù)計(jì)劃(crontab  -e)

刪除客戶機(jī)的/myweb下的所有數(shù)據(jù)

當(dāng)前時(shí)間為23:23,我把計(jì)劃任務(wù)設(shè)置為23:24

時(shí)間到了之后查看:

3、 配置rsync+inotify實(shí)時(shí)同步

作用:將rsync工具與inotify機(jī)制相結(jié)合,可以實(shí)現(xiàn)觸發(fā)式備份(實(shí)時(shí)同步),只要原始位置的文檔發(fā)生變化,則立即啟動(dòng)增量備份操作。

1) 調(diào)整inotify內(nèi)核參數(shù)(文件數(shù)量較多或者變化較頻繁時(shí)需要調(diào)整,把數(shù)值加大)

Vi /etc/sysctl.conf

執(zhí)行sysctl  -p更新

2) 安裝inotify-tools(軟件到ftp或本機(jī)上找)

先執(zhí)行configure,然后執(zhí)行make && make install

3)以監(jiān)控網(wǎng)站目錄/var/www/html為例(當(dāng)/var/www/html進(jìn)行增刪改查的時(shí)候就會(huì)動(dòng)態(tài)顯示監(jiān)控信息)

注:-m表示持續(xù)監(jiān)控

-r表示遞歸整個(gè)目錄

-q表示簡化輸出信息

-e表是用來指定要監(jiān)控哪些事件

二、 綜合實(shí)驗(yàn)(編寫觸發(fā)式同步腳本)

實(shí)驗(yàn)?zāi)繕?biāo):檢測本機(jī)/var/www/html目錄,一旦有更新就觸發(fā)rsync的同步操作,上傳備份至服務(wù)器192.168.1.7的/var/www/html目錄下,實(shí)現(xiàn)網(wǎng)站同步,保持兩個(gè)站點(diǎn)的文件一致。類似于dns的主從復(fù)制。

 

首先在同步源上進(jìn)行操作:(配置ssh源分為四步)

1)創(chuàng)建用戶rput

  useradd rput && passwd rput

2)開啟sshd服務(wù)

   service  sshd start

3) 允許rput用戶登錄

 Vi /etc/ssh/sshd_config

AllowUsers rput@192.168.1.8

4) 啟用密鑰對驗(yàn)證

Vi  /etc/ssh/sshd_config

配置發(fā)起端:(實(shí)現(xiàn)實(shí)時(shí)同步需要使用秘鑰對的方式驗(yàn)證身份)

1)建立秘鑰對文件實(shí)現(xiàn)無交互式登錄

客戶機(jī)(發(fā)起端)創(chuàng)秘鑰對(公鑰、私鑰)

上傳公鑰文件

導(dǎo)入公鑰信息到數(shù)據(jù)庫文件

使用秘鑰對驗(yàn)證

2)在發(fā)起端安裝inofity工具

安裝inotify-tools(同上,安裝包在附件中)

3) 編寫觸發(fā)式同步腳本

Vi /opt/inotify_rsync.sh

4) 執(zhí)行腳本

設(shè)置權(quán)限:Chmod  +x  /opt/inotify_rsync.sh

設(shè)置開機(jī)自動(dòng)啟動(dòng):Echo  ‘/opt/inotify_rsync.sh’  >> /etc/rc.local

執(zhí)行腳本sh /opt/inotify_rsync.sh

5) 清空客戶端/var/www/html中的網(wǎng)頁(方便測試)

6) 在/var/www/html中添加網(wǎng)頁yangwen.html

7) 在服務(wù)器192.168.1.7上查看/var/www/html中有沒有a.html (如果有代表同步正常)

注:若實(shí)驗(yàn)不通,則給同步源192.168.1.7中的/var/www/html修改屬性

例如:

謝謝觀看,真心的希望能幫到您!

本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)