歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> BSD >> FreeBSD下用rsync對網站進行同步鏡像備份

FreeBSD下用rsync對網站進行同步鏡像備份

日期:2017/2/28 11:22:42   编辑:BSD


前言
1、可以鏡像保存整個目錄樹和文件系統。
2、可以很容易做到保持原來文件的權限、時間、軟硬鏈接等等。
3、無須特殊權限即可安裝。
4、優化的流程,文件傳輸效率高。
5、可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接。
本文介紹了如何使用rsync服務從Linux到Windows和linux進行遠程備份
軟件及平台
FreeBSD 5.2 (Server and Client)
Server IP:192.168.83.80 Hostname: freebsd-1
Client IP:192.168.83.81 Hostname: freebsd-2
apache_1.3.29
rsync-2.5.7
目的
備份Rsync Server(192.168.83.80)上的 /usr/local/apache2/htdocs 目錄下所有內容,到Rsync Client(192.168.83.81)的/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/apache2/htdocs
auth users = tonny
uid = nobody
gid = nogroup
read only = no
tonny:123456 // 認證所需的用戶名/密碼
rsyncd_enable="YES"
Step 6: 啟動 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 7: 檢查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: 檢查備份同步狀態
freebsd-2#/usr/local/bin/rsync -avzP --delete
/backup/www/
--->>> 將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 //加入以下內容
#!/bin/sh
/usr/local/bin/rsync -avzP --delete
/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 192.168.83.80:/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 192.168.83.80:/usr/local/apache2/htdocs/ /backup/www
htdocs/不加斜線,會在備備份機上建立一個文件夾
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