歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

rsync on FreeBSD how to


前言
RSYNC是Linux,UNIX系統下的數據鏡像及備份工具,具有可使本地和遠程兩台主機的文件,目錄之間,快速同步鏡像,遠程數據備份等功能.在同步 過程中,可根據遠程服務器上的數據變動,相應的刪除或者更新本地機的數據,同步數據不用全部傳送,大大提高同步及備份文件的速度.同時在網絡安全方面,也 可以設置為SSH傳輸模式. 遠程主機(Rsync Server)可為RSYNC daemon模式,開啟之後將開放tcp4 873 port,等待本地主機(Rsync client)的連接,連接時遠程主機會進行認證,確認合法用戶進入,便開始進行資料傳輸,在第一次傳輸時會把整個資料都備份同步到本地主機上,在下一次 傳輸時,添加相應參數則可根據遠程主機的數據變動來相應調整同步操作. 本文只是 RSYNC 軟件的一個簡單應用操作文檔,主要是給初學者一個初步介紹。
軟件及平台
FreeBSD (Server and Client)
Server IP:172.18.5.251 Hostname: freebsd-1
Client IP:172.18.5.247 Hostname: freebsd-2
目的
備份Rsync Server(172.18.5.251)上的 /usr/local/www/data-dist 目錄下所有內容,到Rsync Client(172.18.5.247)的/backup/www 下。
安裝及配置
一,Rsync Server
Step 1: 安裝
freebsd-1#cd /usr/ports/net/rsync
freebsd-1#make install clean
[www]
comment = web server backup
path = /usr/local/www/data-dist
auth users = tonny
uid = nobody
gid = nogroup
read only = no
tonny:123456 // 認證所需的用戶名/密碼
rsyncd_enable=”YES”
Step 5: 啟動 Rsync daemon模式
freebsd-1#vi /usr/local/etc/rc.d/rsyncd.sh //加入以下內容
command_args=”-4 –daemon” < <<--- 啟用ipv4 協議
freebsd-1#/usr/local/etc/rc.d/rsyncd.sh start
Step 6: 檢查Rsync daemon啟動狀態
freebsd-1# sockstat | grep rsync
root rsync 440 3 dgram -> /var/run/log
root rsync 440 4 tcp4 *:873 *:*
二,Rsync Client
Step 1: 安裝
freebsd-2#cd /usr/ports/net/rsync
freebsd-2#make install clean
Step 2: 建立備份目錄
freebsd-2#cd /
freebsd-2#mkdir -p backup/www
123456 //Rsync Server上的認證密碼,不用輸入用戶名
Step 4: 檢查備份同步狀態
/backup/www/
注意:參數z在備份已壓縮過的文件時(如rar,zip),請去掉,否則對速度有很大影響。
—>>> 將Rsync Server的Web頁面,備份或同步到了Rsync Client的/backup/www下
Step 5: Auto Rsync Shell:
freebsd-2#cd /usr/local/etc/rc.d/
freebsd-2#chmod a-x rsyncd.sh
freebsd-2#vi rsync.sh //加入以下內容
三,高級應用(Rsync With SSH)
Rsync Server
freebsd-1#/usr/bin/ssh-keygen -d
Rsync Client
freebsd-2#/usr/bin/ssh-keygen -d
freebsd-2#scp ~/.ssh/id_dsa.pub 172.18.5.251:/root/.ssh/authorized_keys
freebsd-2#ssh-agent csh 或 (ssh-agent bash) —>>> #echo $SHELL
查看當前SHELL
freebsd-2#ssh-add id_dsa —>>> 輸入 passphase
freebsd-2#/usr/local/bin/rsync -avzP –delete -e ssh 172.18.5.251:/usr/local/www/data-dist/ /backup/www/
PS: 參數說明
-a, –archive archive mode, equivalent to -rlptgoD
//檔案模式
-v, –verbose
//詳細模式
-z, –compress compress file data
//壓縮文件
-P equivalent to –partial –progress
//顯示進度
–delete
This tells rsync to delete any files on the receiving side
that
aren’t on the sending side.
//保持遠程機器的文件同步性
-e ssh use SSH connection
//使用SSH連接,保證數據安全
Copyright © Linux教程網 All Rights Reserved