從使用者的角度來看,unix的任何裝置都可以看做是檔案。因此,可以“開啟”合適的磁帶磁碟機檔案來進行寫入操作,將要備份的資料寫入到檔案中去。雖然這聽上去過於簡單了,但是實際情況就是這樣。Unix系統把每一個裝置都看成一個檔案,與普通檔案一樣處理,這樣可以使檔案與裝置的操作儘可能統一。 從使用者的角度來看,對裝置的使用和一般檔案的使用一樣。所以管理磁帶的最有效方法是使用相關命令。
日常應用:
1、磁帶備份命令:
make_tape_recovery -Av 預設備份至/dev/rmt/0mn。
如果有多個磁帶機,那麼需要使用下面命令
make_tape_recovery -Av -a /dev/rmt/1mn
2、讀取系統開機磁帶的內容
系統開機磁帶,除了第一段檔案資料,是儲存有關開機的資料外,其他的檔案,它是以tar的格式備份到磁帶裏。因此只要你把第一段檔案跳過,就可使用tar指令,來存取其他部分的內容了。
方法如下:
#mt -t /dev/rmt/0mn fsf 1
#tar -xvf /dev/rmt/0m [filename]
附註:使用mt指令來跳過第一個檔案時,必須用/dev/rmt/0mn (No rewind on close) 這個tape的device file,不然等mt指令作完後,磁帶又會自動回轉到最開頭的位置。
3、放入磁帶,通過“tar”命令測試磁帶機是否可用
# tar -cvf /dev/rmt/0m myfile
4、查看磁帶裡的內容
tar cvf/dev/rmt/2m /tmp 寫檔案進去
tar -tvf/dev/rmt/2m 查看磁帶裡的內容
命令解釋:
1. mt命令
mt命令用來控制磁帶機。可以使用 mt 命令的 status 選項來擷取有關磁帶機的狀態資訊。mt 命令可報告設定檔 /kernel/drv/st.conf 中介紹的所有磁帶機的資訊。
mt命令格式:mt [ -f device ] command [ count] ,
l 顯示磁帶狀態
# mt -f /dev/rmt/n status
然後可以替換磁帶機編號 0、1、2、3 等,以顯示有關所有可用磁帶機的資訊。
應用執行個體:
顯示 QIC-150 磁帶機 (/dev/rmt/0) 的狀態:
$ mt -f /dev/rmt/0 status
Archive QIC-150 tape drive:
sense key(0x0)= No Additional Sense residual= 0 retries=0
file no= 0 block no= 0
範例說明:
[root@pms_db1] /> mt -f /dev/rmt/36mn status ---狀態為,未放磁帶
Drive: HP C7438A
Format:
Status: Tape media is not present
File: 0
Block: 0
[root@pms_db1] /tmp> mt -f /dev/rmt/36mn status ----狀態為正常
Drive: HP C7438A
Format:
Status: [41114700] BOT online compressionimmediate-report-mode
File: 0
Block: 0
[root@pms_db2] /tmp> mt -f /dev/rmt/0mn status ----能備份,但到一半就報錯
Drive: HP C7438A
Format:
Status: [81114700] EOF online compressionimmediate-report-mode ----磁帶到了最後或者中間,需要反轉
File: 23
Block: -1
找了一些資料:
>what is the meaning of "Block: -1"? Does it indicate anyerror?
mt(7) says these fields are no longer used and set to -1:structureforMTIOCGET - mag tape get status command struct mtget {
BOT,代表磁帶在開始處
EOF(END Of file)
l 重新拉張磁帶
如果讀取磁帶時出現錯誤,則可以重新張緊磁帶、清潔磁帶機,然後重試。請勿重新張緊非 QIC 磁帶機。
$ mt -f /dev/rmt/3 retension
l 要反繞盒式磁帶,請使用 mt 命令。
$ mt -f /dev/rmt/1 rewind
2.tar命令
tar命令是用來建立,還原備份檔案的工具程式,Solaris 系統對tar 進行了增強,使之更勝任系統層級的備份。它允許所有或部分要備份的檔案和目錄列表儲存在一個或多個文字檔中。UNIX環境下根檔案系統的/dev目錄包含了所有和物理裝置關聯的檔案。當對這些檔案進行操作時,實際上是在操作下層的物理裝置。如果DAT或DLT的磁帶機已經串連好並加電,一般下情況下能夠自動檢測到磁帶機並在自檢時會提示是否要配置發現的磁帶機,選擇配置即可。如果使用者在起系統時沒有發現磁帶機,可能是磁帶機的驅動已經安裝到系統中了。
tar命令格式:
tar{c|r|t|u|x}[BDeEFhilmnopPqvw@[0-7]][bfk][X...][塊大小] [磁帶封存檔案] [大小] [排除檔案...] {檔案 | -I 包含檔案 | -C 目錄檔案}...下面介紹常用選項:
l 將檔案複製到磁帶
1. 進入包含要複製的檔案的目錄。
2. 將可寫磁帶插入磁帶機中。
3. 將檔案複製到磁帶。命令如下:
$ tar cvf /dev/rmt/n filenames
參數說明:c 指明要建立歸檔檔案;v 歸檔時顯示每個檔案的名稱;
f /dev/rmt/n 指明應該將歸檔檔案寫入指定裝置或檔案。
filenames 指明要複製的檔案和目錄。使用空格分隔多個檔案。
系統會將指定的檔案名稱複製到磁帶,並且會覆寫該磁帶上的任何現有檔案。然後從磁帶機中取出磁帶。在磁帶標籤中寫入檔案名稱。
應用執行個體:把/export/home/目錄下兩個檔案檔案複製到磁帶
$ cd /export/home/
$ ls reports
reportA reportB
$ tar cvf /dev/rmt/0 reports
a reports/ 0 tape blocks
a reports/reportA 59 tape blocks
a reports/reportB 61 tape blocks
$ tar tvf /dev/rmt/0
l從磁帶中恢複檔案
轉到要放置檔案的目錄。
將磁帶插入磁帶機。
從磁帶中恢複檔案。 使用命令:
$ tar xvf /dev/rmt/n [filenames]
參數說明:x 指明應從指定的歸檔檔案中提取檔案。指定磁帶機中的磁帶上的所有檔案都會被複製到目前的目錄。v恢複時顯示每個檔案的名稱。f /dev/rmt/n指明包含歸檔檔案的磁帶裝置。filenames 指定要恢複的檔案。使用空格分隔多個檔案。