簡介:rsync是個真正的鏡像工具,它能相應地刪除本地文件萬一服務器上的文件被刪除,
這一點比wget好,在鏡像目錄的同時也能排除某些目錄及文件。速度非常快
主頁:rsync.samba.org
環境: Redhat Linux 6.2 , rsync 2.4.3(下載源碼編譯最好),
兩台linux服務器192.168.11.7(test)(rsync server) , 192.168.11.2(proxy)(rsync client)
步驟:
1. 下載最新的rsync 2.4.3源文件編譯,看rsync.samba.org ,據我所知, 只有2.4.3才支持
鏡像時的排除選項 --include and --exclude, 編譯後得到一個執行文件rsync,僅需這個執行文件即可
2. 編輯配置文件/etc/rsyncd.conf 如下:
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test]
path = /test
comment = test folder
uid = root
ignore errors
read only = yes
list = no
auth users = sun
secrets file = /etc/test.scrt
注釋: 定義了需要被鏡像的目錄為/test,需要密碼連接,文件在/etc/test.scrt,
注意該文件的屬性和權限 -rw------- 1 root root test.scrt
[root@test /etc]# more /etc/test.scrt
test:tset
3.啟動服務器後台 rsync
# rsync --daemon
且加這一行到/etc/rc.d/rc.local
# echo "rsync --daemon" >> /etc/rc.d/rc.local
4. 在服務器192.168.11.2上設定客戶端cron job. 每晚自動作備份或者鏡像
0 21 * * 1-5 /root/.test.sh
note:每晚九點周一至周五自動運行/root/.test.sh作備份
#more /root/.test.sh
#!/bin/sh
DATE=`date +%w`
rsync -tvzrp -e ssh --progress --delete
[email protected]::test /shopu/test/$DATE --passWord
-file=/etc/test > /var/log/test/test.$DATE
mail -s "test Backup is done" myemailaddress < /var/log/test/test.$DATE
[root@proxy /root]# more /etc/test
tset
[root@proxy /root]# ls /etc/test -l
-rw------- 1 root root 4 May 16 21:40 /etc/test
注意: -e ssh表示用SSH加密連接,需要服務器test支持SSH
5.可用於下列用途:
a. 從另一台服務器備份主服務器上的某個整個目錄,且可排除某個子目錄及文件
b. 鏡像主WEB服務器的主頁目錄,適合於像像網站,用--delete可刪除服務器上沒有的本地文件
是真正的像像,不同於wget,wget僅根據網站的URL鏈接下載鏈接指向的每個文件,本地文件並不刪除