就是遠程同步( Remote Sync )的簡稱。 特點: 1, 可以鏡像保存整個目錄樹和文件系統 2, 很容易做到保持原來文件的權限,時間,屬主,軟硬連接" name="description" />
RsyncMILY: 宋體; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是遠程同步(Remote Sync)的簡稱。
特點:
1, 可以鏡像保存整個目錄樹和文件系統
2, 很容易做到保持原來文件的權限,時間,屬主,軟硬連接等
3, 19821017
4, 無須特殊權限
5, 優化的流程,文件傳輸速率較高
6, 可使用rcp,ssh等方式來傳輸文件,也可直接通過socket來進行連接
7, 支持匿名傳輸,方便網站鏡像。
安裝:
URL://rsync.samba.org 現在最新版本為2.6.4.
# ./configure
#make
#make install
測試系統:
ServerA : Redhat9.0 IP : 192.168.0.217 (Server)
ServerB : Redhat9.0 IP : 192.168.0.244 (Client)
Rsync就是遠程同步(Remote Sync)的簡稱。
特點:
1, 可以鏡像保存整個目錄樹和文件系統
2, 很容易做到保持原來文件的權限,時間,屬主,軟硬連接等
3, 19821017
4, 無須特殊權限
5, 優化的流程,文件傳輸速率較高
6, 可使用rcp,ssh等方式來傳輸文件,也可直接通過socket來進行連接
7, 支持匿名傳輸,方便網站鏡像。
安裝:
URL://rsync.samba.org 現在最新版本為2.6.4.
# ./configure
#make
#make install
測試系統:
ServerA : Redhat9.0 IP : 192.168.0.217 (Server)
ServerB : Redhat9.0 IP : 192.168.0.244 (Client)
PS:必須在ServerA和B上都安裝rsync,其中A是以Server模式運行rsync,B是以Client模式運行rsync。
服務器的啟動方式:#/usr/local/bin/rsync –daemon 在server端以守護進程形式運行。
在啟動時啟動rsync
1, 加入.netd.conf
#vi /etc/services,加入rsync 873/tcp,指定rsync的服務端口是873
#vi /etc/inetd.conf,加入rsync stream tcp nowait root /bin/rsync rsync –daemon
2, 加入rc.local
#vi /etc/rc.d/rc.local,加入rsync --daemon
默認啟動端口:873
Rsync服務器配置文件:/etc/rsyncd.conf (手工創建)
ServerA(Server)端的配置文件:分全局參數和模塊參數
#全局參數
uid = nobody
gid = nobody
use chroot = no # 不使用chroot
max connections = 4 # 最大連接數為4
pid file = /var/run/rsyncd.pid pid文件的存放位置
lock file = /var/run/rsync.lock 鎖文件的存放位置
log file = /var/log/rsyncd.log # 日志記錄文件的存放位置
#模塊參數
[web_test] # 這里是認證的模塊名,在client端需要指定
path = /home/web_test/ # 需要做鏡像的目錄,不可缺少!
comment = This is a test #這個模塊的注釋信息
ignore errors # 可以忽略一些無關的IO錯誤
read only = yes # 只讀
list = no # 不允許列文件
auth users = test # 認證的用戶名,如果沒有這行,則表明是匿名,此用戶與系統無關
secrets file = /etc/backserver.pas # 認證文件名
server端的認證文件:/etc/backserver.pas
# cat /etc/inburst.pas
test:huang1017 前面為認證的用戶名,后面為密碼;處于安全考慮,此文件具有只讀屬性。
從client端測試:
#rsync –zvrtopg –progress –delete test@192.168.0.217::web_test /tmp password-file=/etc/rsync.pass
Password:
receiving file list ... done
./
1
785 (100%)
a.c
4086 (100%)
index.html
10680 (100%)
b
0 (100%)
ip.c
3956 (100%)
./
wrote 190 bytes read 5499 bytes 758.53 bytes/sec
total size is 19507 speedup is 3
參數解釋:z表示壓縮,v表示verbose,詳細顯示,r表示recursive遞歸,t表示保持原文件創建時間,o表示保持原文件屬主,p表示保持原文件的參數,g表示保持原文件的所屬組,更多參數查看—help,--progress
是指顯示出詳細的進度情況,--delete是指如果服務器端刪除了這一文件,那么客戶端也相應把文件刪除,保持真正的一致。test@192.168.0.217::web_test中,其中test是指server端指定認證的用戶,192.168.0.217是指服務器端的ip,::web_test 表示服務器端需要同步的模塊名稱;/tmp是同步后的文件指存放在本機的目錄地址??梢杂?/span>--password-file=/password/path/file來指定密碼文件,這樣就可以在腳本中使用而無需交互式地輸入驗證密碼了,這里需要注意的是這份密碼文件權限屬性要設得只有屬主可讀。--password-file所指定的文件內容只包含server端指定認證用戶的密碼。
腳本實例:
1.
#!/bin/sh
DATE=`date +%w`
rsync -vzrtopg --progress --delete test@192.168.0.217::web_test /home/quack/backup/$DATE --password-file=/etc/rsync.pass > /var/log/rsync.$DATE
2.
修改/etc/crontab做好定時
# echo "15 4 * * 6 root rsync.sh">>/etc/crontab