2013年4月11日星期四

Centos 安裝使用rsync 進行備份


一、前言
使用rsync可以進行FTP, SSH進行備份同步資料,安裝設定簡單,安全性都不錯。在centos中很多都已經配備了rsync,只需要進行簡單設定就可以使用。

以下進行舉例說明安裝設定方法

系統:centos 5.4

A為伺服器端(210.0.128.111)

B為備份主機(192.168.0.10)

A 需要備份的目錄為

/home/html/public_html (網頁資料夾)

/var/lib/mysql/home (數據庫資料夾)



備份端B 要進行設定以下項目:

建立備份的資料夾

設定/etc/xinetd.d/rsync

設定/etc/rsyncd.conf

設定密碼檔或public/privacy key



目標伺服器端A進行設定:

1.密碼檔/etc/rsyncd.conf

2.rsync指令

3.加入定期執行指令(crontab)



二、安裝方法

1. 在B為備份主機(192.168.0.10)建立備份資料夾,本例將資料備份在

網頁:/home/backup

數據庫 /var/lib/mysql/backup

這樣做原因是可以即時測試備份後的數據是否能正常運作,可以在伺服器中建立backup用戶和其數據庫backup



2.在B為備份主機(192.168.0.10) centos 中用以下指令

yum -y install rsync xinetd

系統會判斷是否已經安裝rsync 和 xinetd,

設定/etc/xinetd.d/rsync,將disable=yes 改為no,簡單設定如下

service rsync

{

disable = no

socket_type = stream

wait = no

user = root

server = /usr/bin/rsync

server_args = –daemon

log_on_failure += USERID

}

保存後執行service xinetd restart, 確保沒有錯誤



3.設定/etc/rsyncd.conf (不存在請自行創建)

根據以下範例創建



log file = /var/log/rsyncd.log #記錄檔

[webdata] #可以自行命名

path = /home/backup #備份主機B備份的目錄

auth users = backup #備份主機B 創建的用戶backup

uid = root #執行用戶

gid = root

secrets file = /etc/rsyncd.secrets #備份主機B中的密碼檔

read only = no #是否唯讀



[mysql] #可以自行命名

path = /var/lib/mysql/backup     #備份主機B備份的目錄

auth users = backup     #備份主機B 創建的用戶backup

uid = root #執行用戶

gid = root

secrets file = /etc/rsyncd.secrets     #備份主機B中的密碼檔

read only = no     #是否唯讀



4.設定密碼檔

vi /etc/rsyncd.secrets 密碼檔密碼格式:username:password 如下例:

backup:123pass

保存後,要確保密碼檔權限為root 擁有,因此執行以下指令

chown root:root /etc/rsyncd.secrets

chmod 600 /etc/rsyncd.secrets

完成後執行service xinetd restart



三、目標伺服器A設定

1.設定密碼檔

vi /etc/rsyncd.secrets ,輸入備份端B中用戶backup的密碼123pass,然後儲存

同樣執行指令

chown root:root /etc/rsyncd.secrets

chmod 600 /etc/rsyncd.secrets



2. 測試指令是否成功,輸入下指令

/usr/bin/rsync -vzrtopg –progress –delete –password-file=/etc/rsyncd.secrets /home/html/public_html/ backup@192.168.0.10::webdata



上面file後是密碼檔案,密碼檔案後是你想要備份的資料夾/home/html/public_html/

資料夾後,@前是用戶名,然後@後是備份伺服器B的ip地址,然後::後是備份伺服器B中rsyncd.conf設定檔的設定項目webdata

成功的話會提示:

Build file list…

(一些檔案名)

Send xxxx bytes received xxx bytes xxx bytes/sec

Total size is xxx speedup is xx.xxx

這樣就表示成功備份,可以到備份伺服器B上瀏覽一下資料是否已經複製過去了

3.設定cronab定期工作

可以用指令,假如有webmin可以在webmin中設定,建議凌晨時分進行

crontab -e0 0 * * * /usr/bin/rsync -vzrtopg –progress –delete –password-file=/etc/rsyncd.secrets /home/html/public_html/ backup@192.168.0.10::webdata

crontab -e0 0 * * * /usr/bin/rsync -vzrtopg –progress –delete –password-file=/etc/rsyncd.secrets /var/lib/mysql/home/ backup@192.168.0.10::mysql



完成,當然要注意本例只是用內部主機進行備份,假如是共同在線主機,要注意在防火牆設定rsync 端的連線範圍

以下是參考網址:

http://www.backup.idv.tw/good_doc/linux/backup/20030726/rsync.htm

public/privacy key

http://dz.adj.idv.tw/thread-48-1-4.html

詳細的設定:

http://fanqiang.chinaunix.net/a6/b7/20010908/1305001258_b.html

没有评论:

发表评论