本文介紹瞭如何使用rsync服務從Linux到Windows進行遠程備份。
1、配置服務器端
首先咱們須要配置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:mysql
chmod 600 /etc/wwwuser.pass
設置rsync服務在系統啓動時自動啓動運行,能夠經過ntsysv來設置:
後在服務器端咱們須要啓動rsync服務:
service xinetd restart
至此,服務器端配置完畢。
2、配置客戶端
爲了在Windows環境使用rsync工具,咱們須要去下載cwRsync工具,這是一個rsync for windows的版本。
下載安裝完成以後的目錄結構相似下圖所示:
如今咱們能夠在Windows環境下運行rsync工具了,舉例使用下面的命令鏈接服務器並開始備份目錄和文件:
rsync -vzrtopg --progress --delete wwwuser@xx.xx.xx.xx::www .\bak
應該能夠看到:
password:
要求輸入密碼的提示,正確輸入密碼後就應該看到開始備份了。固然,也有可能出現相似下面的錯誤信息:
引發這種錯誤有幾種可能性,一是你沒有輸入正確的用戶名或密碼,二是你的服務器端存儲密碼的文件沒有正確的權限,也就是你的密碼文件不是相似這樣子的權限:-rw------- 1 root rootsql