天天看點

使用Rsync進行伺服器的備份

<b>使用</b><b>Rsync</b><b>進行伺服器的備份</b>

一、環境:

OS: Centos5 /RHEL 5

Soft: rsync-3.0.7.tar.gz

Rsync是linux下的資料備份工具,支援linux—linux, linux—windows之間的互相備份。具有如下特性:

1、 可以鏡像儲存整個目錄樹和檔案系統

2、 可以很容易的做到儲存原檔案的權限、時間、軟硬連結等

3、 無須特殊權限即可安裝

4、 優化的流程、檔案傳輸效率高

5、 可以使用rcp、ssh等方式進行傳輸,也可以直接通過sock連接配接

二、安裝

下載下傳位址: http://rsync.samba.org 。

安裝和一般的軟體基本一樣,一般rhel5或centos已經安裝好了,我們可以先解除安裝後再自行安裝

Rpm –e rsync --nodeps

#tar -xzvf rsync-3.0.7.tar.gz

#cd rsync-3.0.7

#./configure –prefix=/usr/local/rsync

#make

#make install

注: 如果在兩台linux之間備份,這兩台linux都安裝rsync,分别配置為server和client,但是如果是linux和windows之間備份,則linux安裝rsync,windows系統安裝cwrsync。

三、配置rsync伺服器端

Rsync伺服器的配置檔案為/etc/rsyncd.conf,其控制認證、通路、日志記錄等。該檔案是一個或多個子產品結構組成,寫法非常類似samba的文法。一個子產品以方括号中的子產品名開始,知道下一個子產品定義開始或檔案結束,子產品中包含name=value的參數定義。每個子產品其實就對應需要備份的一個目錄樹,那麼就需要在配置檔案中定義三個子產品,分别對應三個目錄樹。

1、 配置rsync server

Vim /etc/xinetd.d/rsync

将disable=yes改為no

使用Rsync進行伺服器的備份

2、 假設我們要備份的目錄是/usr/local/www/ 目錄,那麼我們的配置檔案如下:

注意: 配置檔案為/etc/rsyncd.conf,預設是不存在的,需要我們自己來建立。

使用Rsync進行伺服器的備份

注釋:

全局參數

uid = root//運作RSYNC守護程序的使用者

gid = root//運作RSYNC守護程序的組

use chroot = 0 //不使用chroot

max connections = 0 // 最大連接配接數,0為不限制

port = 873//預設端口873

下面這些檔案是安裝完RSYNC服務後自動生成的檔案

pid file = /var/run/rsyncd.pid//pid檔案的存放位置

lock file = /var/run/rsync.lock //鎖檔案的存放位置。指定支援max connections參數的鎖檔案,預設值是/var/run/rsyncd.lock。

log file = /var/log/rsyncd.log//日志記錄檔案的存放位置

Timeout = 300

通過該選項可以覆寫客戶指定的IP逾時時間。通過該選項可以確定rsync伺服器不會永遠等待一個崩潰的用戶端。逾時機關為秒鐘,0表示沒有逾時定義,這也是預設值。對于匿名rsync伺服器來說,一個理想的數字是600。

Log format = %t %a %m %f %b

通過該選項使用者在使用transfer logging可以自己定制日志檔案的字段。其格式是一個包含格式定義符的字元串,可以使用的格式定義符如下所示:

%h 遠端主機名

%a 遠端IP位址

%l 檔案長度字元數

%p 該次rsync會話的程序id

%o 操作類型:" send" 或" recv"

%f 檔案名

%P 子產品路徑

%m 子產品名

%t 目前時間

%u 認證的使用者名(匿名時是null)

%b 實際傳輸的位元組數

%c 當發送檔案時,該字段記錄該檔案的校驗碼

預設log格式為:" %o %h [%a] %m (%u) %f %l" ,一般來說,在每行的頭上會添加" %t [%p] " 。在源代碼中同時釋出有一個叫rsyncstats的perl腳本程式來統計這種格式的日志檔案。

#transfer logging = yes //

使rsync伺服器使用ftp格式的檔案來記錄下載下傳和上載操作在自己單獨的日志中。

syslog facility = local3 //指定rsync發送日志消息給syslog時的消息級别,常見的消息級别是:uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, sys-log, user, uucp, local0, local1, local2, local3,local4, local5, local6和local7。預設值是daemon。

子產品參數

[www] //這裡是認證的子產品名,在client端需要指定

path = /home/backup///需要做鏡像的目錄,不可缺少!

comment = This is a test //這個子產品的注釋資訊

ignore errors//可以忽略一些無關的IO錯誤

read only = yes//該選項設定是否允許客戶上載檔案。如果為true那麼任何上載請求都會失敗,如果為false并且伺服器目錄讀寫權限允許那麼上載是允許的。預設值為true。

list = no //不允許列檔案

auth users =msyn //認證的使用者名,如果沒有這行則表明是匿名,此使用者與系統無關

該選項指定由空格或逗号分隔的使用者名清單,隻有這些使用者才允許連接配接該子產品。這裡的使用者和系統使用者沒有任何關系。如果" auth users" 被設定,那麼用戶端發出對該子產品的連接配接請求以後會被rsync請求challenged進行驗證身份這裡使用的challenge/response認證協定。使用者的名和密碼以明文方式存放在" secrets file" 選項指定的檔案中。預設情況下無需密碼就可以連接配接子產品(也就是匿名方式)。

secrets file = /etc/rsync.pas //密碼和使用者名對比表,密碼檔案自己生成

該選項指定一個包含定義使用者名:密碼對的檔案。隻有在" auth users" 被定義時,該檔案才有作用。檔案每行包含一個username:passwd對。一般來說密碼最好不要超過8個字元。沒有預設的secures file名,需要限式指定一個(例如:/etc/rsyncd.passwd)。注意:該檔案的權限一定要是600,否則用戶端将不能連接配接伺服器。

hosts allow = 192.168.1.1,10.10.10.10//允許主機或網段

該選項指定哪些IP的客戶允許連接配接該子產品。客戶模式定義可以是以下形式:

單個IP位址,例如:192.167.0.1

整個網段,例如:192.168.0.0/24,也可以是192.168.0.0/255.255.255.0

多個IP或網段需要用空格隔開,“*”則表示所有,預設是允許所有主機連接配接。

hosts deny = 0.0.0.0/0 //禁止主機

3、 建立認證檔案/etc/rsyncd.ps ,此檔案須與配置檔案中指定檔案名保持一緻

#vim /etc/rsyncd.ps

使用Rsync進行伺服器的備份

此處格式為:username:password,由于安全問題,并不建議實際使用中使用root使用者

并且我們需要設定此檔案的權限為600,

使用Rsync進行伺服器的備份

4、建立motd檔案(可有可無)

# vi /var/rsyncd.motd

rsyncd.motd記錄了rsync服務的歡迎資訊,你可以在其中輸入任何文本資訊,如:

Welcome to use the rsync services!

5、啟動rysnc

使用Rsync進行伺服器的備份

四、用戶端安裝

備份伺服器隻要安裝rsync就可以了,不需要啟動程序就可以了。下面為同步過程:

使用Rsync進行伺服器的備份

格式:

#rsync –vzrtopg –delete --progress username@IP::要備份的目錄 目錄2

--delete 是保持跟伺服器的目錄完全一緻

--progress

要備份的目錄:指的是配置檔案中的備份子產品名

目錄2:用戶端的用來保持備份檔案的目錄

如果要上傳的話,隻需要将位置颠倒即可,如:

/usr/local/rsync/bin/rsync -vzrtopg --delete --progress /root/backup [email protected]::www

五、windows用戶端

下載下傳cwRsyncServer_4.0.6_Installer.zip,在用戶端機器安裝,在計算機管理中啟動服務。

1、 建立密碼檔案,我放在了c:\rsyncd.ps

2、 進入dos,參考以下:

使用Rsync進行伺服器的備份

3、 可以寫一個批處理檔案,然後使用計劃任務定期執行

繼續閱讀