實用的Linux/Unix系統磁帶管理命令

在Linux/Unix系統下,磁帶管理命令有哪些呢?下面是小編整理的實用的Linux/Unix系統磁帶管理命令,歡迎閱讀!

實用的Linux/Unix系統磁帶管理命令

  在本教程中你將會了解到:

· 磁帶設備

· 管理磁帶驅動器的基本命令

· 基本的備份和恢復命令

  爲什麼備份?

一個備份計劃對定期備份文件來說很有必要,如果你寧願選擇不備份,那麼丟失重要數據的風險會大大增加。有了備份,你就有了從磁盤故障中恢復的能力。備份還可以幫助你抵禦:

· 意外的文件刪除

· 文件或文件系統損壞

· 服務器完全毀壞,包括由於火災或其他問題導致的同盤備份毀壞

· 硬盤或 SSD 崩潰

· 病毒或勒索軟件破壞或刪除文件

你可以使用磁帶歸檔備份整個服務器並將其離線存儲。

  理解磁帶文件標記和塊大小

每個磁帶設備能存儲多個備份文件。磁帶備份文件通過 cpio,tar,dd 等命令創建。同時,磁帶設備可以由多種程序打開、寫入數據、及關閉。你可以存儲若干備份(磁帶文件)到一個物理磁帶上。在每個磁帶文件之間有個“磁帶文件標記”。這用來指示一個物理磁帶上磁帶文件的結尾以及另一個文件的'開始。你需要使用 mt 命令來定位磁帶(快進,倒帶和標記)。

磁帶上的數據是如何存儲的

所有的數據使用 tar 以連續磁帶存儲格式連續地存儲。第一個磁帶歸檔會從磁帶的物理開始端開始存儲(tar #0)。接下來的就是 tar #1,以此類推。

  Unix 上的磁帶設備名

/dev/rmt/0 或 /dev/rmt/1 或 /dev/rmt/[0-127] :Unix 上的常規磁帶設備名。磁帶自動倒回。

/dev/rmt/0n :以無倒回爲特徵,換言之,磁帶使用之後,停留在當前狀態等待下個命令。

/dev/rmt/0b :使用磁帶接口,也就是 BSD 的行爲。各種類型的操作系統比如 AIX,Windows,Linux,FreeBSD 等的行爲更有可讀性。

/dev/rmt/0l :設置密度爲低。

/dev/rmt/0m :設置密度爲中。

/dev/rmt/0u :設置密度爲高。

/dev/rmt/0c :設置密度爲壓縮。

/dev/st[0-9] :Linux 特定 SCSI 磁帶設備名。

/dev/sa[0-9] :FreeBSD 特定 SCSI 磁帶設備名。

/dev/esa0 :FreeBSD 特定 SCSI 磁帶設備名,在關閉時彈出(如果可以的話)。

  磁帶設備名示例

/dev/rmt/1cn 指明正在使用 unity 1,壓縮密度,無倒回。

/dev/rmt/0hb 指明正在使用 unity 0,高密度,BSD 行爲。

Linux 上的自動倒回 SCSI 磁帶設備名:/dev/st0

Linux 上的無倒回 SCSI 磁帶設備名:/dev/nst0

FreeBSD 上的自動倒回 SCSI 磁帶設備名:/dev/sa0

FreeBSD 上的無倒回 SCSI 磁帶設備名:/dev/nsa0

  如何列出已安裝的 scsi 磁帶設備?

輸入下列命令:

### Linux(更多信息參閱 man) ###

lsscsi

lsscsi -g

### IBM AIX ###

lsdev -Cc tape

lsdev -Cc adsm

lscfg -vl rmt*

### Solaris Unix ###

cfgadm –a

cfgadm -al

luxadm probe

iostat -En

### HP-UX Unix ###

ioscan Cf

ioscan -funC tape

ioscan -fnC tape

ioscan -kfC tape

  mt 命令示例

在 Linux 和類 Unix 系統上,mt 命令用來控制磁帶驅動器的操作,比如查看狀態或查找磁帶上的文件或寫入磁帶控制標記。下列大多數命令需要作爲 root 用戶執行。語法如下:

mt -f /tape/device/name operation

  設置環境

你可以設置 TAPE shell 變量。這是磁帶驅動器的路徑名。在 FreeBSD 上默認的(如果變量沒有設置,而不是 null)是 /dev/nsa0。可以通過 mt 命令的 -f 參數傳遞變量覆蓋它,就像下面解釋的那樣。

### 添加到你的 shell 配置文件 ###

TAPE=/dev/st1 #Linux

TAPE=/dev/rmt/2 #Unix

TAPE=/dev/nsa3 #FreeBSD

export TAPE

  1:顯示磁帶/驅動器狀態

mt status ### Use default

mt -f /dev/rmt/0 status ### Unix

mt -f /dev/st0 status ### Linux

mt -f /dev/nsa0 status ### FreeBSD

mt -f /dev/rmt/1 status ### Unix unity 1 也就是 tape device no. 1

你可以像下面一樣使用 shell 循環語句遍歷一個系統並定位其所有的磁帶驅動器:

for d in 0 1 2 3 4 5

do

mt -f "/dev/rmt/${d}" status

done

  2:倒帶

mt rew

mt rewind

mt -f /dev/mt/0 rewind

mt -f /dev/st0 rewind

  3:彈出磁帶

mt off

mt offline

mt eject

mt -f /dev/mt/0 off

mt -f /dev/st0 eject

  4:擦除磁帶(倒帶,在支持的情況下卸載磁帶)

mt erase

mt -f /dev/st0 erase #Linux

mt -f /dev/rmt/0 erase #Unix

  5:張緊磁帶盒

如果磁帶在讀取時發生錯誤,你重新張緊磁帶,清潔磁帶驅動器,像下面這樣再試一次:

mt retension

mt -f /dev/rmt/1 retension #Unix

mt -f /dev/st0 retension #Linux