UNIX數據備份
電腦系統內,數據可是相當重要的一環。貯存數據的方法,可以軟盤、硬盤或盒式帶(Cartridge),盒式帶通常為大量數據提後援(Backup)。
復制目錄
在安裝的文件系統中,把一個目錄內容復制到另一個目錄中,用 copy 指令:
$copy source> destination>
#copy -mor source> destination>
轉換並復制文件
使用 dd指令,可以把一個文件轉換成另一個文件,也可以選擇文件的一部份傳輸,在傳輸的數據中,也可以交換字節順序。
$dd if=/dev/fd0 of=/temp/save skip=5 count=86 bs=5k
上面的指令″/dev/fd0″ 是指電腦上的軟盤,″skip=n″代表在復制到輸出文件之前,跳過輸入文件上的幾個記錄。″bs=n″則 表示設置輸入輸出字節塊長度,用 k 表示 1024 字節。″count=n″ 只復制輸入記錄的指定數。
同時,也可以利用 dd 指令檢查歸檔(archive)情況,指令如下:
$dd if=dev/fd0 of=/dev/null bs=1k
1200+0 record read in
1200+0 record read out
歸檔文件
tar
tar 是對非特權用戶最易用和最可靠的實用程序(utility),從 歸檔介質上保留和恢復文件,亦能從多文件歸檔中抽取單個文件。
tar 歸檔使用文件和目錄的相對或絕對路徑名。 打入 tar,即會顯示所有變量選項;
cv 是創建歸檔
cv# 用於來自 /etc/default/tar 的設備號 #
rv 追加已有歸檔
uv 更新在已有歸檔上的文件
tv 顯示歸檔內容表
xv 從歸檔中抽取文件
f 從指定文件中讀入或寫出
L 使 tar 跟隨符號連接繼續追查下去,默認情況下則會忽略符號連接。
譬如要歸檔指定文件,而復蓋盤上的已有數據,指令如下:
$cd pub
$tar cv6 ascii greek
volume end at 1199k block factor=5k
seek=0k a ascii 3k
seek=3k a greek 1k
要列出 tar 歸納的內容:
$tar tv6
rw-r--r-- 2/22114 Jan 2 13:41 1996 ascii
rw-r--r-- 2/2475 Jan 2 13:41 1996 greek
創建 tar 歸檔,使用相對路徑名,否則,恢復另一系統就會蓋寫其他系統的文件。
#tar cv6 /etc/motd
#cd /tmp
#tar xv6
x /etc/motd, 943 bytes,2k
歸納文件
當需要後援指定設備、後援空設備與使用匹配符的時候,就不能使用操作容易的 tar,而需要轉用比較復雜的 cpio,用以歸納文件。
譬如,需要選取文件建立歸檔,指令如下:
$find /u/bill -print| cpio -oB -O /dev/fd0
20 blocks
又例如,需要抽取cpio 歸檔文件名時:
$cpio -idmuBv -I /dev/fd0
cpio 主要選項為:
-v 顯示工作
-i 讀歸檔
-o 寫入歸檔
-t 內容表
-d 創建目錄
-m 保留原修改日期
-U 無條復制
-B 分割因子置為 5k
-Cn 分割因子置為 n
-Kn 介質長度置為 n
後援復制
後援就是要平衡運行一般後援的代價與損失數據的代價,確定要歸檔的數據類,並確定要用何級實現,以及確定所要求磁帶的盤 數和帶的容量,多久存儲一次後援等等問題。
一般來說,後援復制可在 sysadminsh 或 scoadmin 執行。
所謂增量後援(Incremental Backup Levels),就是只需要以上次歸檔後發生改變的那部分數據後援。
當實現調度後援時,在 /usr/lib/sysadmin/last/中,將文件記錄下來,可以透 過使用後援級來實現。 後援級別:
0 級就是後援文件系統上全部文件
1 級則後援以上次 0 級後援以來改變的文件
2 級,後援以上次 0 級或 1 級後援以 來改變的文件
3 級,後援以上級 0級、1 級或 2 級後援以後改變文件。
經定義後援工具後,後援調度(Backup Schedule)就可以更方便 地執行,配置檔案則會被安置在 /usr/lib/sysadmin/schedule 中。 假若在緊急關頭或特殊情況下,用戶亦可以使用非調度放援,進行緊急後援。