2010年9月23日 星期四

FreeBSD 8.1 實做rsync異機備份檔案

1.安裝
#cd /usr/ports/net/rsync       //切換到安裝路徑
#make install clean            //安裝並清除安裝過程中不必要的檔案

2.建立備份區
#mkdir /home/backup7          //建立備份目的區 (owner及group需配合rsyncd.conf)3.
#ee /usr/local/etc/rsyncd.conf       //修改 rsync 設定檔

###backup config###                  //註解
[backup7]                            //module name
comment = backup ms7       //說明
path = /home/backup7       //存放備份資料的目錄
auth users = user          //認證帳號 (也就是之後要設定於 rsyncd.secrets 內的帳號)
uid = root                 //以uid來啟動rsync server(所以/home/backup7的owner要設為root)
gid = wheel                //以gid來啟動rsync server(所以/home/backup7的group要設為wheel)
secrets file = /usr/local/etc/rsyncd.secrets                          //密碼檔存放路徑
read only = no                                                        //是否設定為唯讀
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz    //不要對這些附檔名的檔案做壓縮
(以上直接複製會有問題,建議修改原有的module)

4.建立rsync密碼檔(rsyncd.secrets)
#ee /usr/local/etc/rsyncd.secrets
user:password            //id:password (自行設定帳號、密碼)
#chmod 600 /usr/local/etc/rsyncd.secrets

5.修改 rc.conf
#ee /etc/rc.conf
rsyncd_enable="YES"                    //增加此行

6.啟動rsync服務
#cp /usr/local/etc/rc.d/rsyncd /usr/local/etc/rc.d/rsyncd.sh
#ee /usr/local/etc/rc.d/rsyncd.sh

command_args="--daemon"                //預設值 (run IPv6)
command_args="-4 --daemon"             //修改後 (run IPv4)

#/usr/local/etc/rc.d/rsyncd.sh start
#sockstat |grep rsync
root     rsync     97328     4     tcp4     *:873     *:*

********************************************************************
Rsync Client 設定
1.安裝rsync
#cd /usr/ports/net/rsync               //切換到安裝路徑
#make install clean                    //安裝並清除安裝過程中不必要的檔案

2.建立rsync密碼檔(rsyncd.secrets)
#ee /usr/local/etc/rsyncd.secrets
password                  //password (自行設定密碼,但需要跟剛才 Rsync Server 所設定的一致)
#chmod 600 /usr/local/etc/rsyncd.secrets

3.測試能否順利同步資料
#/usr/local/bin/rsync -CaP --delete --password-file=/usr/local/etc/rsyncd.secrets /home/ user@ip::module name

4.加入排程,寫一個名backupto8.sh的 script
#ee backupto8.sh

#!/bin/sh
/usr/local/bin/rsync -CaP --delete --password-file=/usr/local/etc/rsyncd.secrets /home/ user@ip::module name

#chmod 700 backupto8.sh

5.編輯排程每天早上9點執行backupto8.sh的script內容
#ee /etc/crontab

00      9       *       *       *       root    /root/backupto8.sh

kill -HUP `cat /var/run/cron.pid`

沒有留言:

張貼留言