作者:蔣年華
Linux是公認的運行穩定、安全性較高的操作系統,但是服務器硬件故障和各種意外因素都會導致Linux服務器硬盤上數據丟失。特別對于運用在商業領域中的Linux服務器,數據的安全性、完整性和災難后的數據恢復能力是每一個Linux系統管理員最為關心的問題。Linux作為新一代網絡操作系統,在服務器方面的應用越來越廣泛。作為專門的網絡服務器,一個重要功能就是對服務器數據進行備份,以確保數據的安全。
常見的Linux數據備份方法
Linux操作系統中的數據備份工作是Linux系統管理員的重要工作和職責。傳統的Linux服務器數據備份的方法很多,備份的手段也多種多樣。常見的Linux數據備份方式僅僅是把數據通過TAR命令壓縮拷貝到磁盤的其它區域中去。還有比較保險的做法是雙機自動備份,不把所有數據存放在一臺計算機上,否則一旦這臺計算機的硬盤物理性損壞,那么一切數據將不復存在了。所以雙機備份是商業服務器數據安全的基本要求。通常情況下使用的雙機備份是雙機定時備份文件,而不是實時的。要實現雙機備份,必須先在單機上備份所有的文件,然后再把備份文件傳輸到其它機器上。這樣可能比較麻煩,而且有不足之處。例如,這樣做對于不需要備份的文件也要在網絡上傳輸,會造成帶寬的浪費。
實現備份與刻錄的整合
為了彌補Linux上常見備份方法的不足,本文將講述使用sitback軟件將Linux服務器磁盤中的指定數據進行自動備份,并刻錄到CDR光盤的方法,以達到數據在光盤中安全存儲的目的。此方法將數據備份和光盤刻錄兩個步驟整合在一起,自動化程度和安全性較高,而且sitback還能實現Linux網絡中不同計算機之間的數據備份。
sitback簡介
sitback是一款基于開源協議開發的Unix平臺下的自動備份軟件。與一些Linux開放源碼軟件不同,sitback開發者僅提供源代碼壓縮包的形式給Linux用戶下載。盡管sitback沒有提供安裝方便的RPM格式,但是sitback的安裝采用了基于GNU協議的自動安裝和配置的automake/autoconf模式,使得一般的Linux系統管理員能順利地安裝調試好sitback。
sitback的獲取和安裝
目前sitback官方網站www.mrbean.dk提供的sitback最高版本為0.3.1。為了能最大程度地體現sitback的最佳性能,sitback的開發者建議Linux用戶不要把sitback的開發版本和Beta測試版本使用到實際的數據備份中去,以防出現意外。
安裝sitback源代碼壓縮包可以根據以下幾個簡單的步驟完成:
◆建立臨時解壓目錄 /temp;
◆把sitback壓縮包拷貝到/temp目錄,并使用“tar xvfz sitback-x.x.x.tar.gz”命令對sitback源代碼壓縮包進行解壓;
◆執行./configure;
◆執行make;
◆執行make install。
通過以上幾個步驟可以迅速地安裝好sitback。請注意使用超級用戶root身份對sitback進行安裝。
編譯完sitback源代碼壓縮包之后,接著要在用戶根目錄中的Home目錄下創建一個.sitback目錄。該目錄用來存放一些數據備份和刻錄時產生的臨時文件,以及一些腳本文件或磁盤驅動器參數文件。
同所有通過編寫腳本文件來運行的程序一樣,sitback也需要Linux用戶自行編寫備份和刻錄的腳本文件,并讓Linux系統把sitback當作一個備份進程(backup-daemon)來自動執行。使用高效安全的Webmin管理系統來自動執行sitback也很方便?傊,用最少的代碼編寫出適合Linux系統實際情況的腳本是最為安全、高效的。
將數據刻錄至光盤的條件
讓sitback自動備份指定的磁盤數據,并將備份的數據直接刻錄到光盤中去,必須考慮的條件主要有以下幾點:
◆sitback運行的時間,即備份數據時間;
◆要備份的源目錄;
◆要備份到的目的目錄;
◆選擇存儲介質,包括磁介質、光存儲介質等;
◆是否要對備份數據進行校驗比較,提高備份安全性;
◆備份模式,全備份或部分數據備份;
◆備份數據還原問題。
sitback提供了很多參數供用戶選擇,具體參數和用法可以參考sitback源代碼壓縮包里的開發文檔和詳細的使用手冊。
實例運用
實例1
假設某Linux服務器中有以下這些目錄:
◆/usr/smbdata 包含大多數應用軟件和用戶數據文件;
◆/usr/grafik 包含有重要的圖形文件。
為了備份以上兩個目錄數據,可以編寫一個腳本文件,代碼及說明如下:
ARCHIVE=/dev/st0
#定義要備份的數據
。ˋRCHIVE表示要備份的磁盤驅動器、文件目錄,甚至主機,例如:
“backuphost:/dev/st0”、
“backup@backuphost:/dev/nrt0”、
“me@192.168.1.17:/tmp/temp_backup.tar.gz”等)
TARGET=/usr/smbdata
#要備份的目的目錄
TARGET=/usr/grafik
#要備份的目的目錄
COMPRESSION=YES
#備份模式為對數據進行壓縮后備份
VERIFY=YES
#對備份數據進行校驗
REPORTFILE=/usr/smbdata/latest_backup.txt
#產生備份報告文件
REPORTPRINTER=//penguin4/Canon
#打印機信息
SMBUSER=computer1
#SAMBA用戶端計算機名
SMBPASSWD=123abc
#訪問密碼
VOLUMENAME=Full backup - Taastrup
TIME=1;02;00
#備份時間,每天2:00進行備份
TIME=2;02;00
TIME=3;02;00
TIME=4;02;00
TIME=5;02;00
TIME=6;02;00
以上是一個簡單的數據自動備份腳本的樣本文件。如果想使用SysV初始化,可以在/etc/rc.d/init.d/中創建一個小的腳本文件來運行sitback。在上述腳本最后一行加入“/usr/local/bin/sitback -d data”才能使得sitback自動運行。查看每次備份的情況時,可以打開臨時文件/.sitback/sitback.log,里面有sitback運行的詳細記錄。
實例2
使用sitback將Linux服務器中數據自動備份、刻錄兩個步驟進行整合。
為了達到數據備份和光盤刻錄整合的目的,需要使用以下腳本來實現。它是來自sitback官方網站的樣板腳本。
# Full backup of /home/bean, excluding Images
#對/home/bean,目錄進行全備份
# bean@mrbean.dk 2002
# Write the archive to my cd-writer at 0,0,0
#將備份數據在指定時間寫入CDR刻錄機中
# (Iomega ZIPCD 650, USB), use speed=2, so that i can 刻錄機硬件參數
# do other things while the backup is cooking. Also
# use on-the-fly copy to avoid too much temporary data.
# (my machine has no problem supporting this)
#
ARCHIVE=0,0,0
SPEED=2
#Iomega ZIPCD 650, USB刻錄機寫入速度,
CD ON THE FLY
#寫入方式
# It is a huge advantage to have the files directory available
# on the cd, not inside an archive, when restoring my
# setup, hence the type 'CDRW'
#
TYPE=CDRW
#光盤類型,CDRW可擦寫光盤
# Targets... Exclude Images
TARGET=/home/bean
#目標文件目錄
EXCLUDE=/home/bean/Images
#目標文件目錄中不用備份的目錄(即排除備份的目錄)
# Various stuff. Compression and verification will automagically
# be turned off by sitback, but i do not want the warnings either,
# so i just turn it off from the beginning...
#
VERIFY=NO
#對備份數據進行校驗
COMPRESSION=NO
#備份數據無需壓縮
# When done, put a backup report in /home/bean/backup.log
#
REPORTFILE=/home/bean/backup.log
#產生的備份報告文件及路徑
關于sitback備份數據的恢復及SSH等安全措施,此處不予舉例說明?偟膩碚f,sitback是一款不可多得的Linux操作系統平臺中優秀的數據備份和恢復工具,使用sitback可以使得企業實現安全而高效的備份。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/