用rsync做備份
會用rsync 是因為我用mirror去備份windows上的東西時,會有目錄結構上的問題.
且我要備份的檔案都上百MB用mirror去備份也不實際,基於這二點我就試了rsync.
http://phorum.study-area.org/viewtopic.php?p=75850#75850
關於rsync 的優點可以參考下面的連結,也是我實作時參考的資料.
http://linux.tnc.edu.tw/techdoc/rsync.htm
http://www.linux.org.tw/~pahud/rsync.html
http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html
rsync on linux
檢查有沒有安裝rsync套件.
rpm -qa | grep rsync
若沒有,到
http://rpmfind.net/linux/rpm2html/search.php?query=rsync
或
http://rsync.samba.org/download.html
下載安裝.
設定Rsync Server.
vi /etc/xinetd.d/rsync
CODE:
disable = no
service xinetd restart[主機代號:自訂]
path = 備份資料放置的路徑
auth users = 定義援權的帳號
uid = 應是執行時的uid
gid = 應是執行時的gid
secrets file = 認證密碼檔的位置
read only = 是否唯讀
自行建立rsyncd.conf
vi /etc/rsyncd.conf
CODE:
[apache]
path = /home/users/public/Studio
auth users = apache-admin
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
自行建立rsyncd.secretsvi rsyncd.secrets
CODE:
apache-admin:secret
chown root:root /etc/rsyncd.secretschmod 600 /etc/rsyncd.secrets
設定Rsync Client.
自行建立rsyncd.secrets
vi /etc/rsyncd.secrets
CODE:
secret
chmod 600 /etc/rsyncd.secrets執行
/usr/bin/rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secrets /var/www/html apache-admin@172.16.7.253::apache
看看/home/users/public/Studio看看有沒有備份過來吧!! ^^
另外若"/var/www/html apache-admin@172.16.7.253::apache"的位罝對調,則備份的方向也對調哦!
ps: /var/www/html 為client 端,欲備份的目錄,而172.16.7.253為server ip
參考資料
http://linux.tnc.edu.tw/techdoc/rsync.htm
http://www.linux.org.tw/~pahud/rsync.html
http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html
RSync 實作紀錄於 Windows 2k pro
這是我參考下面這份文件做出來的.
http://www.numbski.net/rsync/
下載http://users.tseinc.com/~numbski/rsync.zip,並解壓至c:\rsync
複製 cygwin1.dll 到C:\WINNT\system32下.
接著進command line,執行下面三行.
cd c:\rsync
instsrv Rsync "c:\rsync\srvany.exe"
exit
按"開始","執行",下"regedit"
搜找下列機碼.
HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> Rsync
在Rsync按右鍵,"新增"->"機碼",名稱改為Parameters
在Parameters按右鍵,"新增"->"字串值",名稱改為AppDirectory,執行它,並在"值的資料"輸入"c:\rsync"
在Parameters按右鍵,"新增"->"字串值",名稱改為Application,執行它,並在"值的資料"輸入"c:\rsync\rsync.exe"
在Parameters按右鍵,"新增"->"字串值",名稱改為AppParameters,執行它,並在"值的資料"輸入--c --daemon
再來執行"控制台"->"系統管理工具"->"服務"找到Rsync按右鍵"啟動"
接著進command line執行:
telnet localhost 873
接著下quit
cd c:\rsync
rsync localhost::
您應該會看到"mame"出現在螢幕上.
若看到那表示,您的rsync己經是work的了. ^^
接下來,在下將在linux及windows 2k pro上做測試,二個平台互為server及client,並使用不認證使用者的方式.
環境:
pc-a為linux
ip為172.16.7.253
欲備份的目錄為 /rsync_data/output
備份的目錄為 /rsync_data/input
pc-b為windows
ip為 172.16.4.4
欲備份的目錄為 c:\rsync_data\output
備份的目錄為 c:\rsync_data\input
先設定linux上的rsyncd.conf檔.
vi /etc/rsyncd.conf
CODE:
[pc-a_output]
path = /rsync_data/output
readonly = yes
再設windows上的rsyncd.conf檔.編輯 C:\rsync\rsyncd.conf
CODE:
[pc-b_output]
path = c:\rsync_data\output
readonly = yes
這樣就設好了,分別執行看看(執行時別忘了,copy 些不同的資料到pc-a及pc-b的output目錄哦!).從pc-1上把pc-b上的rsync server 備份回來.
/usr/bin/rsync -arv --delete 172.16.4.4::pc-b_output /rsync_data/input
從pc-2上把pc-a上的rsync server 備份回來.
c:\rsync\rsync.exe -arv --delete 172.16.7.253::pc-a_output c:\rsync_data\input
好啦!看看pc-a及pc-b的input目錄下,是不是有對方output目錄的東西呢?若看到了就成功囉!
另外,我在linux與linux加上AUTH皆沒問題,但一遇上windows就會 auth failed,不清楚為什麼,所以只好先用不認證的方式了.
在windows上使用sync2nas做client端.
算是下面這份文件的補充吧!
http://phorum.study-area.org/vie ... 220&highlight=rsync
到這下載安裝.
http://sourceforge.net/project/s ... 66&release_id=79188
執行.
從左上角選擇您欲備份的資料然後按">>"丟到右邊.
再來要設定左下角的項目.
Appliance or Virtual IP: 輸入您的server位址
Share Name:主機代號
Remote Forder:遠端目錄,若這裡有定義,則資料將置此目錄下.
User Name:帳號
Password:密碼
Rsync Options:參數
Appliance or Virtual IP: 172.16.7.253
Share Name:apache
Remote Forder:
User Name:apache-admin
Password:secret
Rsync Options:-vzrtopg --progress --delete
若要更改User Name及Rsync Options可從功能表的Advanced將其enable.
右下角設定定,執行的時間及執行身份
例如:
選Replicate Once Immediately就是馬上執行.
最後在按Apply執行吧!