rsync是Linux系統下的數據鏡像備份工具,從軟件的命名上就可以看出來了——remote sync。rsync支持大多數的類Unix系統,無論是Linux、Solaris還是BSD上都經過了良好的測試。rsync的最新版本可以從http://rsync.samba.org/rsync/獲得。它的特性如下:
1、可以鏡像保存整個目錄樹和文件系統。
2、可以很容易做到保持原來文件的權限、時間、軟硬鏈接等等。
3、無須特殊權限即可安裝。
4、優化的流程,文件傳輸效率高。
5、可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接。
本文介紹了如何使用rsync服務從Linux到Windows進行遠程備份。
一、配置服務器端
首先我們需要配置rsync,打開配置文件/etc/xinetd.d/rsyncd.conf(如果沒有請創建它),修改相應的配置項,并增加以下內容:
uid = nobody # 備份以什么身份進行,用戶ID
gid = nobody # 備份以什么身份進行,組ID
#注意這個用戶ID和組ID,如果要方便的話,可以設置成root,這樣rsync幾乎就可#以讀取任何文件和目錄了,但是也帶來安全隱患。建議設置成只能讀取你要備
#份的目錄和文件即可。
max connections = 4 # 最大連接數為4
[www] # 指定認證的備份模塊名
path = /www # 需要備份的目錄
comment = BACKUP WWW # 注釋
ignore errors # 忽略一些無關的IO錯誤
read only = yes # 設置為只讀
list = no # 不允許列文件
auth users = wwwuser # 認證的用戶名,如果沒有這行,則表明是匿名
hosts allow=220.122.133.31 #允許連接服務器的主機IP地址
secrets file = /etc/wwwuser.pass # 認證文件名,用來存放密碼
這一段我們修改完成。
注意:如果同時還需要備份其它目錄的話,可以直接在配置文件的后面繼續增加配置內容,例如:
[database]
path = /var/lib/mysql
……
這樣就可以同時備份多個目錄了。
然后為備份模塊設置密碼文件,如上例的密碼文件為/etc/wwwuser.pass,使用編輯器創建這個文件,并輸入用戶名稱和密碼:
vi /etc/wwwuser.pass
輸入以下內容:
wwwuser:123456
這樣,為備份模塊www的用戶wwwuser設置了密碼123456。注意,出于安全目的,這個文件的屬性必需是只有屬主可讀,否則rsync將拒絕運行。我們可以設置它的屬性為600:
chmod 600 /etc/wwwuser.pass
設置rsync服務在系統啟動時自動啟動運行,可以通過ntsysv來設置:
最后在服務器端我們需要啟動rsync服務:
service xinetd restart
至此,服務器端配置完畢。
二、配置客戶端
為了在Windows環境使用rsync工具,我們需要去下載cwRsync工具,這是一個rsync for windows的版本。
下載安裝完成之后的目錄結構類似下圖所示:
現在我們可以在Windows環境下運行rsync工具了,舉例使用下面的命令連接服務器并開始備份目錄和文件:
rsync -vzrtopg --progress --delete wwwuser@xx.xx.xx.xx::www .\bak
應該可以看到:
password:
要求輸入密碼的提示,正確輸入密碼后就應該看到開始備份了。當然,也有可能出現類似下面的錯誤信息:
引起這種錯誤有幾種可能性,一是你沒有輸入正確的用戶名或密碼,二是你的服務器端存儲密碼的文件沒有正確的權限,也就是你的密碼文件不是類似這樣子的權限:-rw------- 1 root root
在備份完成之后,我們可以看到類似下圖所示的狀態:
不含病毒。www.avast.com |
留言列表