一、特性簡介
rsync是類unix系統下的資料映象備份工具,從軟體的命名上就可以看出來了——remote sync。它的特性如下:
1、可以映象儲存整個目錄樹和檔案系統。
2、可以很容易做到保持原來檔案的許可權、時間、軟硬鏈結等等。
3、無須特殊許可權即可安裝。
4、優化的流程,檔案傳輸效率高。
5、可以使用rcp、ssh等方式來傳輸檔案,當然也可以通過直接的socket連線。
6、支援匿名傳輸。
演算法介紹:
假定在名為α和β的兩台計算機之間同步相似的檔案 a 與 b ,其中α對檔案 a 擁有訪問權,β對檔案 b 擁有訪問權。並且假定主機α與
β之間的網路頻寬很小。那麼 rsync 演算法將通過下面的五個步驟來完成:
1.β將檔案 b 分割成一組不重疊的固定大小為 s 位元組的資料塊。最後一塊可能會比 s 小。
2.β對每乙個分割好的資料塊執行兩種校驗:一種是 32 位的滾動弱校驗,另一種是 128 位的 md4 強校驗。
3.β將這些校驗結果發給α。
4.α通過搜尋檔案 a 的所有大小為 s 的資料塊 ( 偏移量可以任選,不一定非要是 s 的倍數 ) ,來尋找與檔案 b 的某一塊有著相同的弱
校驗碼和強校驗碼的資料塊。這項工作可以借助滾動校驗的特性很快完成。
5.α發給β一串指令來生成檔案 a 在β上的備份。這裡的每一條指令要麼是對檔案 b 經擁有某乙個資料塊而不須重傳的證明,要麼是乙個
資料塊,這個資料塊肯定是沒有與檔案 b 的任何乙個資料塊匹配上的。
二、配置步驟
1、系統環境
server: debian 5.0.5 ip: 192.168.206.120
client: debian 5.0.5 ip: 192.168.206.200
rsync版本
# rsync --version
rsync version 3.0.3 protocol version 30
安裝server和client端都需要安裝rsync,只不過client端不需要配置:
# apt-get install rsync
2、配置server端的/etc/rsyncd.conf檔案
拷貝示例配置檔案到/etc目錄
# cp /usr/share/doc/rsync/examples/rsyncd.conf /etc/
檢視rsyncd.conf檔案,按需要修改即可
# more /etc/rsyncd.conf
# sample rsyncd.conf configuration file
# global options
#motd file=/etc/motd
log file=/var/log/rsyncd.log
# for pid file, do not use /var/run/rsync.pid if
# you are going to run rsync out of the init.d script.
pid file=/var/run/rsyncd.pid
#syslog facility=daemon
#socket options=
# module options
[www] # 這裡是認證的模組名,在client端需要指定
4、在server端將rsync以守護程序形式啟動
# vi /etc/default/rsync
rsync_enable=true
啟動srync
# /etc/init.d/rsync start
檢視監聽埠
# netstat -anp|grep rsync
tcp 0 0 0.0.0.0:873 0.0.0.0:* listen 2533/rsync
tcp6 0 0 :::873 :::* listen 2533/rsync
5、client端測試
建立密碼檔案,只填密碼即可,密碼要與server端的一致。
debian-vm:~# vi /etc/rsyncd.secrets
123456
file=/etc/rsyncd.secrets
receiving incremental file list
deleting 20101129.csv
./ip.txt
2358 100% 2.25mb/s 0:00:00 (xfer#1, to-check=2/7)
sent 81 bytes received 886 bytes 1934.00 bytes/sec
total size is 2375 speedup is 2.46
引數說明:
-vzrtopg裡的v是verbose,z是壓縮,r是recursive,topg都是保持檔案原有屬性如屬主、時間的引數。
--progress是指顯示出詳細的進度情況
--delete是指如果伺服器端刪除了這一檔案,那麼客戶端也相應把檔案刪除
file=/etc/rsyncd.secrets
ubuntu下配置rsync服務
1.新建 etc rsyncd.conf 內容motd file etc rsyncd.motd pid file var run rsyncd.pid lock file var run rsyncd.lock log file var log rsyncd.log workspace path ...
Debian下配置LAMP環境
debian下安裝mysql 首先安裝伺服器 再安裝客戶端 apt get install mysql server apt get install musql client注意在初次安裝的時候會提示設定使用者名稱 mysql的使用者名稱 和該使用者名稱的密碼 設定完成後登陸 mysql u use...
Debian 下配置固定ip
最近由於在虛擬機器裡準備自己開發乙個專案,由於linux系統本人涉略不深,只懂得一點基本的配置,所以要想直接在linux編寫 的話,不知道有什麼好用的類似於win下phpstorm之類的強大編輯器,所以想到samba共享到win下可以用自己熟悉的工具程式設計。然而,每次開關虛擬機器的時候發現ip位址...