Server IP:172.18.5.251 Hostname: freebsd-1
Client IP:172.18.5.247 Hostname: freebsd-2
apache_1.3.29
rsync-2.5.7
Step 1: 安裝
freebsd-1#cd /usr/ports.net/rsync
freebsd-1#make install clean
Step 3: 配置rsyncd.conf
freebsd-1#vi /usr/local/etc/rsyncd.conf //加入以下內容
[www]
comment = web server backup
path = /usr/local/www/data-dist
auth users = tonny
uid = nobody
gid = nogroup
secrets file = /usr/local/etc/rsyncd.secrets
read only = no
tonny:123456 // 認證所需的用戶名/密碼
freebsd-1#chmod 600 rsyncd.secrets
rsyncd_enable="YES"
command_args="-4 --daemon" <<<--- 啟用ipv4 協議
freebsd-1#/usr/local/etc/rc.d/rsyncd.sh start
二,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
Step 3: 配置rsyncd.secrets
freebsd-2#vi /usr/local/etc/rsyncd.secrets //加入以下內容
123456 //Rsync Server上的認證密碼,不用輸入用戶名
freebsd-2#chmod 600 rsyncd.secrets
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 //加入以下內容
#!/bin/sh
/usr/local/bin/rsync -avzP --delete
--password-file=/usr/local/etc/rsyncd.secrets tonny@172.18.5.251::www
/backup/www/
freebsd-2#chmod a+x rsync.sh
freebsd-2#crontab -e //加入以下內容(每天下午5點半自動備份同步)
30 17 * * * /usr/local/etc/rc.d/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連接,保證數據安全
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/openssh.html
freebsd handbook手冊