有備無(wú)患 Linux服務(wù)器備份和恢復(fù)技巧
下面的指令會(huì)將您的整個(gè) Linux 系統(tǒng)備份於 ``/archive/'' 檔案系統(tǒng),除了 ``/proc/'' 偽裝檔案系統(tǒng),``/mnt/'', ``/archive/'' 檔案系統(tǒng) (沒(méi)必要備份我們的備份檔 !),還有 Squid 很大的快取資料檔 (是的,依我之見(jiàn),浪費(fèi)備份媒體而且不需要去備份)之外的任何已掛載的檔案系統(tǒng) :
本文引用地址:http://butianyuan.cn/article/201609/304244.htmtar -zcvpf /archive/full-backup-`date '+%d-%B-%Y'`.tar.gz
--directory / --exclude=mnt --exclude=proc --exclude=var/spool/squid .
不要被上面的指令嚇到 ! 當(dāng)我們將其分為兩部分,您將會(huì)發(fā)現(xiàn)這個(gè)強(qiáng)力工具之美。
上列的指令指定了選項(xiàng) ``z'' (壓縮; 備份資料經(jīng)由 ``gzip''壓縮), ``c'' (建立; 一個(gè) archive 檔開(kāi)始被建立),``v'' (verbose; 顯示出已經(jīng)備份好的檔案), ``p'' (允許保存;保護(hù)的資料將會(huì)被 “記憶” ,可以被回復(fù))。``f'' (檔案) 選項(xiàng)後面接的是的要寫(xiě)入的 archive 檔 (或裝置)名稱(chēng),注意包含資料的檔名是如何得到的,只要用兩個(gè)後引號(hào)將``date'' 指令圈起來(lái)。 一般的命名慣例是在未壓縮過(guò)的檔案後面加上 `` .tar'' ,壓縮的檔案加上 ``tar.gz'' ``--directory'' 選項(xiàng)告知 tar 在開(kāi)始備份前首先跳到以下的檔案路徑 ( 在本例中是``/''目錄 )。 ``--exclude'' 選項(xiàng)告知 tar 不要備份所指定的檔案或目錄。最後, ``.'' 符號(hào)告知 tar 要備份目前目錄中的所有東西。
注意: 有一點(diǎn)很重要必須了解的就是 tar 的選項(xiàng)是大小寫(xiě)不同的 ! 此外,大部分的選項(xiàng)可以用助記符號(hào)加以簡(jiǎn)化(亦即. ``f''), 或者使用較易記憶的選項(xiàng)全名 (亦即. ``file'')。 助記符號(hào)前用一個(gè)``-'' 字元作為字首作為辨識(shí),在全名的前面有兩個(gè)這種符號(hào)的字首。參考 “man”頁(yè)以得到更多有關(guān)使用 tar 的資訊。
另一個(gè)例子,這一次只有寫(xiě)入指定的檔案系統(tǒng) (和上一個(gè)除了例外全部寫(xiě)入的例子相反) 到一臺(tái) SCSI 的磁帶機(jī) :tar -cvpf /dev/nst0 --label=Backup set created on `date '+%d-%B-%Y'`. --directory / --exclude=var/spool/ etc home usr/local var/spool
在上面一行的選項(xiàng),注意沒(méi)有用到 ``z'' (壓縮) 選項(xiàng)。我強(qiáng)烈建議反對(duì)寫(xiě)入壓縮資料到磁帶上,因?yàn)槿绻艓腺Y料有一部份損壞,您會(huì)失去整個(gè)備份 ! 然而,未壓縮的儲(chǔ)存的 archive 檔具有很高的可恢復(fù)性,即使磁帶上的檔案有一部份損毀。
因?yàn)榇艓C(jī)是一個(gè)字元設(shè)備,沒(méi)有辦法指定一個(gè)確實(shí)的檔名。因此,指定給 tar 的檔名可簡(jiǎn)化為裝置名稱(chēng),``/dev/nst0'',是在 SCSI 排匯上的第一個(gè)磁帶設(shè)備。
注意: ``/dev/nst0'' 設(shè)備在備份做好後不會(huì)回帶 ; 因此有可能將好幾組備份寫(xiě)到同一磁帶。(您也可以選擇``/dev/st0''這個(gè)裝置,在這種情形磁帶在備份完後會(huì)自動(dòng)回帶)
既然我們無(wú)法對(duì)一套備份指定檔名, ``--label'' 選項(xiàng)可以來(lái)寫(xiě)進(jìn)檔案本身一些有關(guān)這一套備份的資訊。
最後,只有包含在 ``/etc/'', ``/home/'', ``/usr/local'', 及 ``/var/spool/'' (除了 Squid 的 快取資料檔)會(huì)寫(xiě)進(jìn)磁帶。
當(dāng)使用磁帶時(shí),可以使用下列命令回帶,以及退出磁帶:
mt -f /dev/nst0 rewind
mt -f /dev/nst0 offline
小技巧: 您將會(huì)發(fā)現(xiàn)到當(dāng) archive 檔建立時(shí),前面的``/'' (斜線) 符號(hào)會(huì)被 tar 去除。這是 tar 的預(yù)設(shè)操作模式, 這是故意用來(lái)保護(hù)您避免覆寫(xiě)這些重要檔案的原先版本,以防萬(wàn)一您不慎在重建過(guò)程中覆寫(xiě)了不正確的檔案。
如果您真的不喜歡這個(gè)特性 (記住,這是特性!) 您可以指定 tar ``--absolute-paths'' 選項(xiàng),這樣會(huì)保留前面的斜線。然而,我不建議這樣做,因?yàn)楹芪kU(xiǎn) !
使用``KDat''備份: 如果您使用 KDE 桌面環(huán)境,我相信您會(huì)發(fā)現(xiàn)``KDat'' 公用程式不但強(qiáng)大而且對(duì)使用者很友善。此外,另一個(gè)好處是KDat 利用``tar'' 作為其備份 engine。因此,用 KDat 寫(xiě)入的備份組不但可以用 KDat 讀取,也可以用 tar ! 這使得 KDat 成為在使用者友善及備份可攜性中很好的選擇。
小技巧:即使您決定不使用也不安裝完整的 KDE 套件,如果您安裝了 Qt 函式館就仍然可以使用KDE。
當(dāng)您第一次執(zhí)行 KDat,您需要建立一個(gè)備份 profile。這個(gè) profile 告訴 KDat 您想要備份系統(tǒng)中的哪些檔案。如果您要的話,您可以建立好幾個(gè)備份 profile,依照您的需求 (例如,您可以建立一個(gè) profile 叫做“Full Backup”作系統(tǒng)的完全備份,或是 “Quick Backup”只備份使用者的檔案)。
要建立備份 profile,可以選擇從選單欄中“File”選項(xiàng)選擇“Create Backup Profile” (或在“Backup Profiles”文件夾上按滑鼠右鍵,然後選擇 “Create Backup Profile”)。在右手邊的是 KDat 視窗,您可以改變各種設(shè)定,像是profile 名稱(chēng),archive 名稱(chēng), tar 選項(xiàng), 以及其他的。單擊 “Help” 選單有關(guān)於這些設(shè)定的用途說(shuō)明。
要指定哪些檔案應(yīng)該包含在您的 backup profile, 在 ``/'' 目錄文件夾旁的核對(duì)圖示上敲一下左鍵。這會(huì)確定所有的檔案及這個(gè)目錄下所有東西都會(huì)備份。然後,在文件夾旁的小 ``+''符號(hào)上敲一下左鍵,資料夾會(huì)展開(kāi),顯示檔案及以下的目錄。您可以排除掉所不想備份的檔案;只要在您想排除的每一個(gè)檔案或目錄旁的核對(duì)符號(hào)上敲一下左鍵。例如,一個(gè)完全備份應(yīng)該包含已標(biāo)記的所有檔案及目錄,要排除 ``/proc'' (一個(gè)偽裝檔案系統(tǒng),包含您目前運(yùn)作系統(tǒng)的資料),``/mnt'' ( 位於CD-ROM下面的目錄,軟碟機(jī),網(wǎng)路分享常被掛載在此),而且如果您是 Squid 使用者,``/var/spool/squid'' (Squid的快取資料檔)。一旦您選好了合適的檔案,在您建立好的備份 profile 上按一下左鍵,然後在“Files >>” 鈕上按一下左鍵將選好的檔案移進(jìn)您的備份 profile。
注意: 如果您的伺服器資料到巨大到無(wú)法實(shí)際存放到磁帶中,您需要建立分別的備份 profiles,備份組中每部份一個(gè)。
實(shí)際進(jìn)行備份時(shí),將磁帶放入,從 “File” 選單中選擇 “Mount Tape” (或是用滑鼠敲一下看起來(lái)像磁帶的圖示)。
評(píng)論