需求:正確,有效的備份方案是保障系統及數據安全的重要手段。服務器中,通常會結合計劃任務,shell腳本來執行本地備份,爲了進一步提高備份的可靠性,使用異地備份也是很必要的。
rsync的同步示意圖:
rsync是一個開源的快速備份工具,能在不同的主機之間鏡像同步整個目錄樹,支持增量備份,保持鏈接,權限。且採用優先的同步算法,傳輸前執行壓縮,因此非常適合異地備份,鏡像服務器等應用。
作爲一種常用的文件備份工具,rsync往往是linux和unix系統默認安裝的基本組件之一。
遠程同步任務重,負責發起rsync同步操作的客戶機稱爲發起端,負責響應來自客戶機的rsync同步操作的服務器稱爲同步端。同步過程中,同步源負責提供文檔的原始位置,發起端應對該位置具有讀取權限。
rsync作爲同步源時以守護進程運行,爲其他客戶機提供備份源。配置rsync同步源需要建立配置文件rsyncdd.conf,創建備份賬號,然後將rsync程序以“--daemon”選項運行。
建立/etc/rsyncd.conf配置文件
rsyncd.conf位於/etc下,默認是沒有的。比如講以源目錄/var/www/html.備份賬號backuper爲例。
vim /etc/rsyncd.conf
uid = nobody
pid = nobody
use chroot = yes
address = 10.0.0.1
port 873
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts allow = 10.0.0.0/8
[wwwroot]
path = /var/www/html
comment = Document Root of www.baidu.com
read only = yes
dont compress = *.gz *.bz2 *.zip *.rar *.z
auth users = backuper
secrets file = /etc/rsyncd_users.db
但是基於安全性考慮,rsync的同步源最好僅允許以只讀方式做同步,同步可以採用匿名的方式,將其中的auth users 和secrets file配置記錄去掉就可以
爲備份賬戶創建數據文件
創建賬號數據文件,添加一行用戶記錄,以冒號分隔,用戶名稱爲backuper,密碼爲123456.由於賬號信息採用明文存放,應調整文件權限,避免賬號信息泄露。
vim /etc/rsyncd_users.db
backuper:pwd123
chmod 600 /etc/rsyncd_users.db
備份用戶backuper需要對源目錄/var/www/html有相應的讀取權限,實際只要other組有讀取權限,則備份用戶backuper和運行用戶nobody也就有讀取權限。
啓動rsync服務程序,運行參數爲--daemon
rysnc --deamon命令就可以啓動rsync服務,以獨立監聽服務的方式運行。若要關閉rsync服務,可以採取kill進程的方式。kill $(cat /var/run/rsyncd.pid)