adj 2007-11-12 11:46
使用 Rsync Server 做為異地備份機制
轉貼自: [url=http://phorum.study-area.org/viewtopic.php?t=15553]http://phorum.study-area.org/viewtopic.php?t=15553[/url]
[color=red]用rsync做備份[/color]
會用rsync 是因為我用mirror去備份windows上的東西時,會有目錄結構上的問題.
且我要備份的檔案都上百MB用mirror去備份也不實際,基於這二點我就試了rsync.
[url=http://phorum.study-area.org/viewtopic.php?p=75850#75850]http://phorum.study-area.org/viewtopic.php?p=75850#75850[/url]
關於rsync 的優點可以參考下面的連結,也是我實作時參考的資料.
[url=http://linux.tnc.edu.tw/techdoc/rsync.htm]http://linux.tnc.edu.tw/techdoc/rsync.htm[/url]
[url=http://www.linux.org.tw/~pahud/rsync.html]http://www.linux.org.tw/~pahud/rsync.html[/url]
[url=http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html]http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html[/url]
[color=red]rsync on linux[/color]
檢查有沒有安裝rsync套件.
rpm -qa | grep rsync
若沒有,到
[url=http://rpmfind.net/linux/rpm2html/search.php?query=rsync]http://rpmfind.net/linux/rpm2html/search.php?query=rsync[/url]
或
[url=http://rsync.samba.org/download.html]http://rsync.samba.org/download.html[/url]
下載安裝.
[color=blue]設定Rsync Server.[/color]
vi /etc/xinetd.d/rsync[code]disable = no[/code]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[/code]自行建立rsyncd.secrets
vi rsyncd.secrets[code]apache-admin:secret[/code]chown root:root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
[color=blue]設定Rsync Client.[/color]
自行建立rsyncd.secrets
vi /etc/rsyncd.secrets[code]secret[/code]chmod 600 /etc/rsyncd.secrets
執行
/usr/bin/rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secrets /var/www/html [email=apache-admin@172.16.7.253]apache-admin@172.16.7.253[/email]::apache
看看/home/users/public/Studio看看有沒有備份過來吧!! ^^
另外若"/var/www/html [email=apache-admin@172.16.7.253]apache-admin@172.16.7.253[/email]::apache"的位罝對調,則備份的方向也對調哦!
ps: /var/www/html 為client 端,欲備份的目錄,而172.16.7.253為server ip
參考資料
[url=http://linux.tnc.edu.tw/techdoc/rsync.htm]http://linux.tnc.edu.tw/techdoc/rsync.htm[/url]
[url=http://www.linux.org.tw/~pahud/rsync.html]http://www.linux.org.tw/~pahud/rsync.html[/url]
[url=http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html]http://www.fanqiang.com/a6/b7/20010908/1305001258_b.html[/url]
[color=red]RSync 實作紀錄於 Windows 2k pro[/color]
這是我參考下面這份文件做出來的.
[url=http://www.numbski.net/rsync/]http://www.numbski.net/rsync/[/url]
下載[url=http://users.tseinc.com/~numbski/rsync.zip]http://users.tseinc.com/~numbski/rsync.zip[/url],並解壓至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,並使用不認證使用者的方式.
[color=blue]環境:[/color]
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[/code]再設windows上的rsyncd.conf檔.
編輯 C:\rsync\rsyncd.conf[code][pc-b_output]
path = c:\rsync_data\output
readonly = yes[/code]這樣就設好了,分別執行看看(執行時別忘了,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,不清楚為什麼,所以只好先用不認證的方式了.
[color=red]在windows上使用sync2nas做client端.[/color]
算是下面這份文件的補充吧!
[url=http://phorum.study-area.org/viewtopic.php?t=11220&highlight=rsync]http://phorum.study-area.org/vie ... 220&highlight=rsync[/url]
到這下載安裝.
[url=http://sourceforge.net/project/showfiles.php?group_id=48366&release_id=79188]http://sourceforge.net/project/s ... 66&release_id=79188[/url]
執行.
從左上角選擇您欲備份的資料然後按">>"丟到右邊.
再來要設定左下角的項目.
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執行吧!