一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Rsync同步鏡像站點(diǎn)的搭建

 figol 2007-01-08
對于選擇Linux、UNIX 系統(tǒng)作為應(yīng)用平臺的企業(yè)或網(wǎng)站來說,往往面臨著如何實現(xiàn)將數(shù)據(jù)遠(yuǎn)程備份或者如何建立網(wǎng)站鏡像的問題。雖然有商業(yè)化的備份和鏡像產(chǎn)品可供選擇,但這些產(chǎn)品的 價格往往過于昂貴。因此如何利用自由軟件高效實現(xiàn)遠(yuǎn)程備份和網(wǎng)站鏡像就成為一個值得討論的話題。通過網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程數(shù)據(jù)備份或者網(wǎng)站鏡像的最簡單的方法就是 使用Wget。但是這種方式每次都需要將所有數(shù)據(jù)都重新在網(wǎng)絡(luò)上傳輸一遍,而不考慮哪些文件是經(jīng)過更新的,因此效率非常低下。尤其是在需要備份數(shù)據(jù)量很大 的時候,往往需要花費(fèi)數(shù)個小時來在網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)傳輸。因此,若能有一種高效的網(wǎng)絡(luò)遠(yuǎn)程備份和鏡像工具Rsync,就可以滿足絕大多數(shù)要求不是特別嚴(yán)格的 備份需求。

對系統(tǒng)管理員來說,平時的工作重心應(yīng)該集中在維護(hù)系統(tǒng)正常運(yùn)轉(zhuǎn),能夠正常提供服務(wù)上,這里往往牽涉到一個數(shù)據(jù)備份的問題。在我們所了解的情況中,有80% 的系統(tǒng)管理員不是太關(guān)心自己服務(wù)器的安全性,可是對備份鏡像的技術(shù)相當(dāng)感興趣。但由于商業(yè)產(chǎn)品軟硬件價格都相當(dāng)高昂,因此往往會選擇自由軟件,例如前面提 到的網(wǎng)絡(luò)遠(yuǎn)程備份和鏡像工具Rsync,它可以滿足絕大多數(shù)要求不是特別高的備份需求。
Rsync是Linux、UNIX系統(tǒng)下的數(shù)據(jù)鏡像備份工具,從軟件的命名上就可以看出來了Remote Sync。它有如此特性:可以鏡像保存整個目錄樹和文件系統(tǒng);可以很容易做到保持原來文件的權(quán)限、時間、軟硬鏈接等;無須特殊權(quán)限即可安裝;優(yōu)化的流程,文件傳輸效率高;可以使用RCP、SSH等方式來傳輸文件,當(dāng)然也可以通過直接的Socket連接;支持匿名傳輸。

安裝和配置Rsync實例

例如有2臺服務(wù)器,服務(wù)器名分別為:WWW和BACKUP。
硬件環(huán)境: 2臺HP服務(wù)器,1G CPU , 512M Ram , 18G SCSI硬盤;系統(tǒng)環(huán)境: Redhat Linux 6.2;服務(wù)環(huán)境: Rsync-2.4.6。其中,服務(wù)器名為WWW的Web服務(wù)內(nèi)容存放在以下幾個地方:/www/和/mirror/file0/和/mirror/file1/目錄中。現(xiàn)在我們需要通過搭建Rsync同步服務(wù)在備份機(jī)BACKUP上建立對這幾個目錄內(nèi)容的備份。
軟件下載  Rysnc的主頁地址為:http://rsync./,可以從這里下載Rysnc的安裝軟件(注意:下載源碼編譯最好)。
編譯安裝  Rysnc的編譯安裝非常簡單,只需要以下簡單的幾步(在2臺服務(wù)器中都要安裝):
$ tar xvf rsync-2.4.6.tgz
$ cd rsync-2.4.6
$ ./configure
$ make
$ make install

但是,需要注意的是必須在服務(wù)器WWW和BACKUP上都安裝Rsync,其中WWW服務(wù)器上是以服務(wù)器模式運(yùn)行Rsync,而BACKUP上則以客戶端 方式運(yùn)行Rsync。這樣在Web服務(wù)器WWW上運(yùn)行Rsync守護(hù)進(jìn)程,在BACKUP上定時運(yùn)行客戶程序來備份Web服務(wù)器WWW上需要備份的內(nèi)容。

配置Rsync服務(wù)器端

對于Rsync服務(wù)器來說,最重要和復(fù)雜的就是它的配置了。Rsync服務(wù)器的配置文件為/etc/rsyncd.conf,其控制認(rèn)證、訪問、日志記錄 等。該文件是由一個或多個模塊結(jié)構(gòu)組成。一個模塊定義以方括弧中的模塊名開始,直到下一個模塊定義開始或者文件結(jié)束,模塊中包含格式為name = value的參數(shù)定義。每個模塊其實就對應(yīng)需要備份的一個目錄樹,比方說在實例環(huán)境中,有3個目錄樹需要備份:/www/和/mirror/file0/ 和/mirror/file1/目錄,那么就需要在配置文件中定義3個模塊,分別對應(yīng)3個目錄樹。配置文件是行為單位的,也就是每個新行都表示一個新的注 釋、模塊定義或者參數(shù)賦值。(注:本例所指的Rsync服務(wù)器是名為WWW的服務(wù)器)。

例如,在www.上創(chuàng)建Rsyncd的配置文件/etc/rsyncd.conf,內(nèi)容如下:
[root@ www /] cat /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[www]
path = /mirror/www/
comment = my rsync site
ignore errors
read only = true
list = false
auth users = backup
hosts allow = 12.23.34.57/32
secrets file = /etc/rsyncd.secrets

[file0]
path = /mirror/file0
comment =  file0
ignore errors
read only = true
list = false
auth users = backup
hosts allow = 12.23.34.57/32
secrets file = /etc/rsyncd.secrets

[file1]
path =/mirror/file1
comment = file1
ignore errors
read only = true
list = false
auth users = backup
hosts allow = 12.23.34.57/32
secrets file = /etc/rsyncd.secrets
這里分別定義了[www]、[file0]、[file1]模塊,分別對應(yīng)于3個需要備份的目樹。這里只允許12.23.34.57備份服務(wù)器WWW的數(shù) 據(jù),并且需要認(rèn)證。3個模塊授權(quán)的備份用戶都為BACKUP,并且用戶信息保存在文件/etc/backserver.pas中,其內(nèi)容如下:
[root@www /etc]# cat /etc/backserver.pas
backup:bk_passwd
并且該文件只能是Root用戶可讀寫的,否則Rsyncd啟動時會出錯。這些文件配置完畢以后,就需要在WWW服務(wù)器上啟動Rsyncd服務(wù)器:
[root@www /etc]# grep rsync services
rsync           873/tcp                         # rsync
rsync           873/udp                         # rsync
[root@www /etc] grep rsync inetd.conf
rsync   stream  tcp     nowait  root    /usr/local/bin/rsync    rsyncd -daemon
[root@www /etc]# rsync -daemon

執(zhí)行完畢上面的命令后,Rsync即可啟動。Rsync默認(rèn)服務(wù)端口為873,服務(wù)器在該端口接收客戶的匿名或者認(rèn)證方式的備份請求。
執(zhí)行Rsync客戶端命令  下一步就要運(yùn)行Rsync客戶端的啟動命令了(本例所指的Rsync客戶端是名為BACKUP的服務(wù)器):

[backup@backup /] /usr/local/bin/rsync -vzrtopg -delete
-exclude  “logs/”--exclude “conf/ssl.*/”
--progress backup@12.23.34.56::www /backup/www/
--password-file=/etc/rsync.pass

上面這個命令行中--vzrtopg里的v是代表Verbose(詳細(xì));z是代表Zip(壓縮);r是代表Recursive(遞歸);Topg都是保 持文件原有屬性,如屬主、時間的參數(shù);--progress是指顯示出詳細(xì)的進(jìn)度情況;--delete是指如果服務(wù)器端刪除了這一文件,那么客戶端也相 應(yīng)把文件刪除,保持真正的一致;--exclude “logs/”是表示不對/www/logs目錄下的文件進(jìn)行備份。同樣-exclude“conf/ssl.*/”是表示不對 /www/conf/ssl.*/目錄下的文件進(jìn)行備份。
backup@12.23.34.56::www 是表示該命令是對服務(wù)器12.23.34.56中的WWW模塊進(jìn)行備份,其中BACKUP表示使用BACKUP用戶來對該模塊進(jìn)行備份。-- password-file=/etc/rsync.pass來指定密碼文件,這樣就可以在腳本中使用而無須交互式地輸入驗證密碼了。這里需要注意的是, 這份密碼文件權(quán)限屬性要設(shè)得只有執(zhí)行這個命令的當(dāng)前用戶可讀,本例中是BACKUP用戶。
這里將備份的內(nèi)容存放在備份機(jī)的/backup/www/目錄下。
[backup@backup /] /usr/local/bin/rsync -vzrtopg -delete -exclude “logs/”--exclude “conf/ssl.*/” --progress backup@12.23.34.56::www /backup/www/ --password-file=/etc/rsync.pass
receiving file list ... done
a.txt
wrote 100 bytes  read 990409 bytes  220113.11 bytes/sec
total size is 2779708994  speedup is 2806.34
這樣,Rsync同步服務(wù)就搭建好了,最后我們可以將在客戶端執(zhí)行的命令通過Crontab定時執(zhí)行來實現(xiàn)自動備份,或者寫一些腳本,這樣Rsync同步服務(wù)的搭建就更加完美了。

一些示例腳本

1、每隔7天將數(shù)據(jù)往中心服務(wù)器做增量備份
#!/bin/sh
# This script does personal backups to a rsync backup server. You
# with a 7 day rotating  backup. The incrementals will go
# into subdirectories named after the day of the week, and the c
# full backup goes into a directory called “current”
# tridge@linuxcare.com

# directory to backup
BDIR=/home/$USER

# excludes file 
EXCLUDES=$HOME/cron/excludes

# the name of the backup machine
BSERVER=owl
# your password on the backup server
export RSYNC_PASSWORD=XXXXXX
BACKUPDIR=‘date +%A’
OPTS=“--force --ignore-errors --delete-excluded
--exclude-from=$EXCLUDES
--delete --backup --backup-dir=/$BACKUPDIR -a”
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin
# the following line clears the last weeks incremental directory
[ -d $HOME/emptydir ]‘ ’mkdir $HOME/emptydir
rsync --delete -a $HOME/emptydir/ $BSERVER::$USER/$BACKUPDIR/
rmdir $HOME/emptydir
# now the actual transfer
rsync $OPTS $BDIR $BSERVER::$USER/current
2、備份至一個空閑的硬盤
#!/bin/sh
export PATH=/usr/local/bin:/usr/bin:/bin
LIST=“rootfs usr data data2”
for d in $LIST; do
mount /backup/$d
rsync -ax --exclude fstab --delete /$d/ /backup/$d/
umount /backup/$d
done
DAY=‘date “+%A”’
rsync -a --delete /usr/local/apache /data2/backups/$DAY
rsync -a --delete /data/solid /data2/backups/$DAY
3、對vger.rutgers.edu的Cvs樹進(jìn)行鏡像
#!/bin/bash
cd /var/www/cvs/vger/
PATH=/usr/local/bin:/usr/freeware/bin:/usr/bin:/bin
RUN=‘lps x | grep rsync | grep -v grep | wc -l’
if [“$RUN”-gt 0 ]; then
echo already running
exit 1
fi
rsync -az vger.rutgers.edu::cvs/CVSROOT/ChangeLog
$HOME/ChangeLog
sum1=‘sum $HOME/ChangeLog’
sum2=‘sum /var/www/cvs/vger/CVSROOT/ChangeLog’
if [ “$sum1”= “$sum2”]; then
echo nothing to do
exit 0
fi
rsync -az --delete
--force vger.rutgers.edu::cvs/ /var/www/cvs/vger/
exit 0

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    亚洲免费观看一区二区三区| 98精品永久免费视频| 日本在线视频播放91| 男生和女生哪个更好色| 91人妻久久精品一区二区三区 | 日本免费一本一二区三区| 粉嫩国产美女国产av| 国产成人人人97超碰熟女| 国产原创中文av在线播放| 少妇丰满a一区二区三区| 亚洲中文字幕高清视频在线观看| 麻豆亚州无矿码专区视频| 一级片二级片欧美日韩| 好骚国产99在线中文| 国产又色又粗又黄又爽| 国产一区二区精品丝袜| 99久久国产精品成人观看| 99福利一区二区视频| 亚洲天堂久久精品成人| 果冻传媒在线观看免费高清| 观看日韩精品在线视频| 欧美夫妻性生活一区二区| 国产午夜精品久久福利| 日韩欧美中文字幕人妻| 91日韩欧美在线视频| 视频在线观看色一区二区| 人妻少妇系列中文字幕| 成人精品视频在线观看不卡| 亚洲欧美中文字幕精品| 精品一区二区三区人妻视频| 午夜激情视频一区二区| 国产精品白丝久久av| 国产91麻豆精品成人区| 黄片在线免费观看全集| 国产传媒欧美日韩成人精品| 字幕日本欧美一区二区| 清纯少妇被捅到高潮免费观看| 日韩中文无线码在线视频| 高清一区二区三区四区五区| 日韩精品一级片免费看| 国产一区二区精品高清免费 |