需求: local 拷貝備份, local 檔案藉由 rsh/ssh 傳送至遠方主機
一.安裝
tar zxvf rsync-3.0.5.tar.gz
cd rsync-3.0.5
./configure
make
make install
二.設定rsync server
1. 規劃建立備份目錄區
2. 設定: /etc/xinetd.d/rsync
3. 設定: /etc/rsyncd.conf
4. 設定: 密碼檔
----------------------------
1. 規劃建立備份目錄區:
建議準備一個容量較大且獨立的分割區, 並在其中開好備份目錄, 例如 /viewvc
2. 設定: /etc/xinetd.d/rsync
vi /etc/xinetd.d/rsync
#--- 檔案內容如下 ---
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/local/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
3. 設定: /etc/rsyncd.conf
vi /etc/rsyncd.conf
#--- 檔案內容如下 ---
[k100cvs]
#只開放本機,因為我只是想作本機異質性備份
hosts allow = 127.0.0.1
hosts deny = *
path = /viewvc
auth users = k100
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
4. 設定密碼檔:
rsyncd.secrets 的內容很簡單, 格式為 帳號:密碼
如以下例子:
k100:k100password
接下來, 要將 rsyncd.secrets 這個密碼檔的檔案屬性設為 root 擁有, 且權限要設為 600, 否則無法備份成功!
因此, 請下:
chown root.root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
三. 設定 rsync client
步驟:
1. 設定密碼檔
2. 測試 rsync 執行指令
3. 將 rsync 指令放入工作排程 (crontab or cron.daily)
----------------------------
1. 假設把密碼檔放在 /root/rsyncd.secrets, 內容只要含有密碼一行即可:
k100password
注意: rsyncd.secrets 的權限屬性必須設為 600
chmod 600 /root/rsyncd.secrets
2. 測試指令是否可以成功?
/usr/local/bin/rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets /usr/local/apache --exclude apache /logs k100@127.0.0.1::k100cvs
若出現傳輸目錄檔案的畫面, 即表示測試成功.
3.將 rsync 指令放入工作排程
我的系統有cron.daily
所以只要自己加個script放在 /etc/cron.daily目錄就好了
vi /etc/cron.daily/viewvc
#--- 檔案內容如下 ---
#!/bin/sh
/usr/local/bin/rsync -rvlHpogDtS --password-file=/root/rsyncd.secrets /cvsroot/K100 k100@127.0.0.1::k100cvs
This entry was posted
on 2009年5月5日 星期二
at 下午3:37
and is filed under
Linux
. You can follow any responses to this entry through the
comments feed
.