新聞中心
聯系我們
Contact us
Contact us
- 總部電話010-51727811
- 客服熱線400 779 6696
- 更多聯系信息
如何在Linux服務器上做備份和恢復(一)
時間:2013-06-09 09:21 來源:飛客數據恢復 作者:飛客數據恢復工程師
進行一般的備份應該是負責任的系統管理者的最高優先考慮。雖然Linux 是一個高度可靠的作業系統,系統失效仍然可能發生。可能因為硬體故障,電源中斷,或其他不可預料的問題。更常見的這 些問題是來自人為的錯誤,不當的變動,甚至因為刪除重要的檔案。如果您負責管理系統上的用戶,一定可能常被要求重建因為不小心誤刪的檔案。如果您進行一般備份,以每日為基礎較好 (至少對更動頻繁的使用者檔案),您將會有助於減少檔案的損失,并且增加復原程度。
最安全的備份方法是將他們紀錄於不同的媒體中,例如磁帶,抽取式硬碟,可寫式 cd .等。 然後將您的備份和您的 Linux系統分開存放。有時候這可能并不實際 -- 也許在您可以存放備份磁帶的地方沒有防火室 ! 或是在第一優先的地點沒有辦法存取這樣的外部備份系統。雖然如此,仍然可以進行備份,只是會受到一點限制。
在我服務的單位,我在幾個 Linux 系統上進行備份。按情況的不同,有些備份存放在磁帶,其他則寫入位於網路上的不同伺服器中,然而有一些仍然使用 cron 自動作業 (可能因為伺服器位在遠端,在那里每天進行磁帶備份是不切實際或不可能的),簡單的放在分別不同磁碟上的分割區中 (例如,放在 "/archive/" 檔案系統) 。
在家里,我沒有外部的備份系統,我也沒有大量的磁碟空間去存放備份影像檔。因此,我改為只備份在"/home/" 的我的使用者檔案,同樣的還有一些在 "/etc/"的自訂設定檔,將備份存放在分別不同的磁碟分割區中伺服器備份程序。
進行Linux備份有幾種不同的方法,其中包括所有 Linux 發行版本中都有的命令列工具,例如 "dd","dump","cpio"以及 "tar"。其他還有文字型態工具,例如 "Amanda" 及 "Taper",這些是被設計來在備份及回存過程中加入更友善的使用者介面。當然也有圖形介面的工具,像是"KDat"。最後,還有商業化的備份工具,像是 "BRU" 和 "PerfectBackup+"。這些備份計劃中任何之一都足以提供您寶貴資料的保護。
這里有一些包括哪里可以獲得工具的列表,可以在“Linux Applications and Utilities Page"找到,位於http://www.xnet.com/~blatura/linapp2.html#back. 當決定好備份方式,您可能要考慮下列幾點因素:
可攜性 - 備份的可攜性 (亦即. 從一個 Linux 發行版本或應用 Unix備份然後回存到另外一個; 例如從Solaris 到 Red Hat Linux) 對您而言是否重要 ? 如果是,可能想要選擇一個命令列的工具 (亦即. "dd","dump", "cpio", 或 "tar"),因為您可以相當地確定該工具可以在另一個 *nix 系統上找到。
無人或自動備份 - 定期自動進行備份而不需人力介入之能力,對您而言是否重要 ? 如果是,您可能需要能支援該方案的工具及備份媒體。
使用者友善 - 使用者友善的介面對您而言是否重要 ? 如果是,您可能想要選擇一個文字或圖形介面的工具。商業的應用程式可以提供最簡便的介面及技術支援。
遠端備份 - 從遠端機器進行備份及回存的能力對您而言是否重要 ? 如果是,您可能想要選擇命令列或文字模式的工具而不是圖形介面(除非您有相當快的網路連結及執行遠端 X sessions 的能力)。
網路備份 - 從網路主機進行備份及回存對您而言是否重要 ? 如果是,您可能要用一些支援從網路存取備份設備的命令列工具(像是 "tar"),或是專用工具程式例如 "Amanda" 或是一些商業工具程式。
媒體型態 - 備份可以儲存在很多不同的媒體,像是磁帶,外接式硬碟,ZIP 磁碟,或可讀寫 CD?紤]售價及可靠性,儲存容量,及傳送速度。
警告: 當備份您的系統時, 不要包括 "/proc" 偽檔案系統 ! /proc 中的檔案并非真的檔案,而僅是看起來像檔案的描述,而且指向核心資料結構的連結。備份 "/proc/kcore" ,這事實上這是一個偽裝檔案,包含記憶體中所有的資料,會浪費很多的磁帶 ! 您可能也需要避免備份 "/mnt" 檔案系統,除非您有從 CD-ROM,軟碟機,網路分享檔案,或其他安裝設備上備份的特殊需求。
明顯地,備份及回存的過程會因您所選擇的備份方法而有所不同。然而,在這一節,我將會討論我最常使用的兩種工具備份的方法 : "tar" (其名稱源於“Tape ARchiver"),這是一個命令列式的工具,在 *nix 系統中具有很高的可攜性 ; 以及 "KDat",一個來自於 KDE 套件的圖形介面磁帶備份工具。
最後,我應該補充一點,依您所選擇的備份方式,即使該工具沒有建立於自動備份時間表上的能力,您仍然可以利用 cron 功能進行該自動備份。 參考使用Cron 和 Crontab 檔進行自動作業 有關使用 cron 的細節以及如何建立 crontab 行程表檔案。
使用 "tar"備份:如果您選擇 "tar" 作為您的備份方案,您可能要花點時間去了解種種的指令選項 ; 鍵入 “man tar" 有更深入的明細。您還需要了解如何存取適當的備份媒體 ; 雖然在 Unix 的世界中對待所有的裝置就像處理檔案一樣,如果您寫入到一個字元設備像是磁帶,“檔案"的名稱就是設備本身的名稱 (亦即. "/dev/nst0" 是一個SCSI介面的磁帶機)。
下面的指令會將您的整個 Linux 系統備份於 "/archive/" 檔案系統,除了 "/proc/" 偽裝檔案系統,"/mnt/", "/archive/" 檔案系統 (沒必要備份我們的備份檔 !),還有 Squid 很大的快取資料檔 (是的,依我之見,浪費備份媒體而且不需要去備份)之外的任何已掛載的檔案系統 :
tar -zcvpf /archive/full-backup-`date '+%d-%B-%Y'`.tar.gz
--directory / --exclude=mnt --exclude=proc --exclude=var/spool/squid .