rsync + SSH 遠端備份排程

[前言]
RSYNC是Linux,UNIX系統下的數據鏡像及備份工具,具有可使本地和遠程兩台主機的文件,目錄之間,快速同步鏡 像,遠程數據備份等功能.在同步 過程中,可根據遠程服務器上的數據變動,相應的刪除或者更新本地機的數據,同步數據不用全部傳送,大大提高同步及備份文件的速度.同時在網絡安全方面,也 可以設置為SSH傳輸模式. 遠程主機(Rsync Server)可為RSYNC daemon模式,開啟之後將開放tcp4 873 port,等待本地主機(Rsync client)的連接,連接時遠程主機會進行認證,確認合法用戶進入,便開始進行資料傳輸,在第一次傳輸時會把整個資料都備份同步到本地主機上,在下一次 傳輸時,添加相應參數則可根據遠程主機的數據變動來相應調整同步操作. 本文只是 RSYNC 軟件的一個簡單應用操作文檔,主要是給初學者一個初步介紹。
[目的]
遠端異地備援
以RSYNC 使用SSH 通訊協定 進行遠端異地備援.
將遠端 目錄做備援
[環境]
Server:FREEBSD 6.2
Client:FREEBSD 6.2

Step1.Trusted SSH Authorized
再CLIENT端

 # ssh-keygen -d
 Generating public/private dsa key pair.
 Enter file in which to save the key (/home/weithenn/.ssh/id_dsa):預設產生key的路徑
 Enter passphrase (empty for no passphrase):保護key的密碼
 Enter same passphrase again:保護key的密碼
 Your identification has been saved in /home/weithenn/.ssh/id_dsa.
 Your public key has been saved in /home/weithenn/.ssh/id_dsa.pub.
 The key fingerprint is:
 2a:98:c5:27:2b:f9:91:ee:84:bb:27:d2:2f:f0:b7:83 root@srv1.sd.idv.tw

保護KEY 密碼 不使用  按ENTER 跳過
這時會在系統下看到兩個檔案…id_dsa與id_dsa.pub 現在要把id_dsa.pub丟到SERVER端 並且更名為 authorized_keys
#scp id_dsa.pub server_ip:/root/.ssh/authorized_keys
ssh 設定如有變更
#/etc/rc.d/sshd forcerestart

Step2. 安裝RSYNC
Server Client 皆需安裝
/usr/ports/net/rsync
make install clean

Server端設定
cd /usr/local/etc/
編輯設定檔
ee rsyncd.conf

******編輯內容******

pid file = /var/run/rsyncd.pid

# Edit this file before running rsync daemon!!

uid = root
gid = wheel
#use chroot = no
#max connections = 4
#syslog facility = local5
secrets file = /usr/local/etc/rsyncd.secrets
[backup]
path = /var/www/backup
comment = server backup
auth users = backup
#secrets file = /usr/local/etc/rsyncd.secrets //密碼檔存放路徑
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz    //不要對列出附檔名之檔案做壓縮
read only = no
******end******
編輯密碼
ee rsyncd.secrets
******編輯內容******
user:password
******end******
chmod 600 rsyncd.secrets

編輯 預設執行命令
#ee /usr/local/etc/rc.d/rsyncd.sh
command_args="–daemon"             //預設值(run IPv6)
改成
command_args="-4 –daemon"          //run IPv4

ee /etc/rc.conf
加入 之後開機將會自動啟動
rsyncd_enable="YES"
手動啟動
/usr/local/etc/rc.d/rsyncd start
Client端設定
編輯密碼
ee
/usr/local/etc/rsyncd.secrets
******編輯內容******
password
******end******
chmod 600 /usr/local/etc/rsyncd.secrets
備份指令
/usr/local/bin/rsync -avlr -e “ssh -l root -p 特殊PORT" –password-file=
/usr/local/etc/rsyncd.secrets backup@server.ip::backup /bt/backup

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *