POSTS
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