15 條實用 Linux/Unix 磁帶管理命令
導讀 | 磁帶裝置應只用於定期的檔案歸檔或將資料從一臺伺服器傳送至另一臺。通常磁帶裝置與 Unix 機器連線,用 mt 或 mtx 控制。強烈建議您將所有的資料同時備份到磁碟(也許是雲中)和磁帶裝置中。 |
在本教程中你將會了解到:
- 磁帶裝置名
- 管理磁帶驅動器的基本
- 基本的備份和恢復
一個備份計劃對定期備份檔案來說很有必要,如果你寧願選擇不備份,那麼丟失重要資料的風險會大大增加。有了備份,你就有了從磁碟故障中恢復的能力。備份還可以幫助你抵禦:
- 意外的檔案刪除
- 檔案或檔案系統損壞
- 伺服器完全毀壞,包括由於火災或其他問題導致的同盤備份毀壞
- 硬碟或 SSD 崩潰
- 病毒或勒索軟體破壞或刪除檔案
你可以使用磁帶歸檔備份整個伺服器並將其離線儲存。
每個磁帶裝置能儲存多個備份檔案。磁帶備份檔案透過 cpio,tar,dd 等命令建立。同時,磁帶裝置可以由多種程式開啟、寫入資料、及關閉。你可以儲存若干備份(磁帶檔案)到一個物理磁帶上。在每個磁帶檔案之間有個“磁帶檔案標記”。這用來指示一個物理磁帶上磁帶檔案的結尾以及另一個檔案的開始。你需要使用 mt 命令來定位磁帶(快進,倒帶和標記)。
所有的資料使用 tar 以連續磁帶儲存格式連續地儲存。第一個磁帶歸檔會從磁帶的物理開始端開始儲存(tar #0)。接下來的就是 tar #1,以此類推。
- /dev/rmt/0 或 /dev/rmt/1 或 /dev/rmt/[0-127] :Unix 上的常規磁帶裝置名。磁帶自動倒回。
- /dev/rmt/0n :以無倒回為特徵,換言之,磁帶使用之後,停留在當前狀態等待下個命令。
- /dev/rmt/0b :使用磁帶介面,也就是 BSD 的行為。各種型別的作業系統比如 AIX,Windows, ,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
輸入下列命令:
### 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
在 Linux 和類 Unix 系統上,mt 命令用來控制磁帶驅動器的操作,比如檢視狀態或查詢磁帶上的檔案或寫入磁帶控制標記。下列大多數命令需要作為 root 使用者執行。語法如下:
mt -f /tape/device/name operation
你可以設定 TAPE 變數。這是磁帶驅動器的路徑名。在 FreeBSD 上預設的(如果變數沒有設定,而不是 null)是 /dev/nsa0。可以透過 mt 命令的 -f 引數傳遞變數覆蓋它,就像下面解釋的那樣。
### 新增到你的 shell 配置檔案 ### TAPE=/dev/st1 #Linux TAPE=/dev/rmt/2 #Unix TAPE=/dev/nsa3 #FreeBSD export TAPE
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
mt rew mt rewind mt -f /dev/mt/0 rewind mt -f /dev/st0 rewind
mt off mt offline mt eject mt -f /dev/mt/0 off mt -f /dev/st0 eject
mt erase mt -f /dev/st0 erase #Linux mt -f /dev/rmt/0 erase #Unix
如果磁帶在讀取時發生錯誤,你重新張緊磁帶,清潔磁帶驅動器,像下面這樣再試一次:
mt retension mt -f /dev/rmt/1 retension #Unix mt -f /dev/st0 retension #Linux
mt eof mt weof mt -f /dev/st0 eof
磁帶定位在下一個檔案的第一個塊,即磁帶會定位在下一區域的第一個塊(見圖01):
mt fsf mt -f /dev/rmt/0 fsf mt -f /dev/rmt/1 fsf 1 #go 1 forward file/tape (see fig.01)
磁帶定位在下一個檔案的第一個塊,即磁帶會定位在 EOF 標記之後(見圖01):
mt bsf mt -f /dev/rmt/1 bsf mt -f /dev/rmt/1 bsf 1 #go 1 backward file/tape (see fig.01)
這裡是磁帶定位命令列表:
fsf 前進指定的檔案標記數目。磁帶定位在下一個檔案的第一塊。 fsfm 前進指定的檔案標記數目。磁帶定位在前一檔案的最後一塊。 bsf 後退指定的檔案標記數目。磁帶定位在前一檔案的最後一塊。 bsfm 後退指定的檔案標記數目。磁帶定位在下一個檔案的第一塊。 asf 磁帶定位在指定檔案標記數目的開始位置。定位透過先倒帶,再前進指定的檔案標記數目來實現。 fsr 前進指定的記錄數。 bsr 後退指定的記錄數。 fss (SCSI tapes)前進指定的 setmarks。 bss (SCSI tapes)後退指定的 setmarks。
讓我們來看看備份和恢復命令。
tar cvf /dev/rmt/0n /etc tar cvf /dev/st0 /etc
tar xvf /dev/rmt/0n -C /path/to/restore tar xvf /dev/st0 -C /tmp
mt -f /dev/st0 rewind; dd if=/dev/st0 of=- ### tar 格式 ### tar tvf {DEVICE} {Directory-FileName} tar tvf /dev/st0 tar tvf /dev/st0 desktop tar tvf /dev/rmt/0 foo > list.txt
### Unix 備份 c0t0d0s2 分割槽 ### ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s2 ### Linux 備份 /home 分割槽 ### dump 0uf /dev/nst0 /dev/sda5 dump 0uf /dev/nst0 /home ### FreeBSD 備份 /usr 分割槽 ### dump -0aL -b64 -f /dev/nsa0 /usr
### Unix ### ufsrestore xf /dev/rmt/0 ### Unix 互動式恢復 ### ufsrestore if /dev/rmt/0 ### Linux ### restore rf /dev/nst0 ### 從磁帶媒介上的第6個備份互動式恢復 ### restore isf 6 /dev/nst0 ### FreeBSD 恢復 ufsdump 格式 ### restore -i -f /dev/nsa0
### 這會覆蓋磁帶上的所有資料 ### mt -f /dev/st1 rewind ### 備份 home ### tar cvf /dev/st1 /home ### 離線並解除安裝磁帶 ### mt -f /dev/st0 offline
從磁帶開頭開始恢復:
mt -f /dev/st0 rewind tar xvf /dev/st0 mt -f /dev/st0 offline
### 這會保留之前寫入的資料 ### mt -f /dev/st1 eom ### 備份 home ### tar cvf /dev/st1 /home ### 解除安裝 ### mt -f /dev/st0 offline
### 在 tar number 2 之後寫入(應該是 2+1)### mt -f /dev/st0 asf 3 tar cvf /dev/st0 /usr ### asf 等效於 fsf ### mt -f /dev/sf0 rewind mt -f /dev/st0 fsf 2
從 tar number 2 恢復 tar:
mt -f /dev/st0 asf 3 tar xvf /dev/st0 mt -f /dev/st0 offline
Linux 和類Unix系統都提供了許多第三方工具,可以用來安排備份,包括磁帶備份在內,如:
- Amanda
- Bacula
- rsync
- duplicity
- rsnapshot
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2915358/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux、UNIX下磁帶機的管理和使用 (作者:張亞寧)Linux
- 實用Unix/Linux 命令(轉)Linux
- linux/unix實用基本命令Linux
- hp-unix 自帶磁帶機備份資料
- 用DOS命令破除UNIX管理員口令 (轉)
- 用DOS命令破除 UNIX 管理員口令(轉)
- 15個實用的管理mysql的mysqladmin命令MySql
- linux/unix find命令Linux
- 15個Linux Grep命令使用例項(實用、常用)Linux
- linux/unix命令參考Linux
- 【UNIX】DBA常用的linux命令Linux
- Unix/Linux 常用監控命令Linux
- Linux/UNIX命令dd簡介Linux
- linux/unix dd命令詳解Linux
- linux/unix crontab命令詳解Linux
- linux/unix uname命令詳解Linux
- linux/unix ulimit命令詳解LinuxMIT
- 15 個鮮為人知的Unix命令
- 磁帶 SATA儲存的真實成本
- Tivoli 磁帶庫的磁帶初始化設定
- ASM條帶細粒度管理ASM
- [轉]UNIX find命令實踐
- 實用的Linux命令Linux
- 一些實用但不為人知的Unix命令
- Linux/Unix重要find命令詳解Linux
- 20個 Unix/Linux 命令技巧薦Linux
- Unix/Linux中nohup命令講解Linux
- 虛擬磁帶庫
- 媽咪,我找到了!15個實用的Linux find命令示例Linux
- 媽咪 我找到了! 15個實用的Linux find命令示例Linux
- 15 Practical Grep Command Examples In Linux / UNIXLinux
- LTO3磁帶機在LINUX下的使用Linux
- 在RedHat Linux下安裝惠普磁帶機(轉)RedhatLinux
- 系統管理員應該知道的 20 條 Linux 命令Linux
- Linux-系統管理員應該知道的20條Linux命令Linux
- 50個最常用的UNIX/Linux命令Linux
- 使用tar命令從磁帶中解壓資料夾的問題
- TSM儲存池中沒有可用磁帶,帶庫中也沒有Scratch 狀態的磁帶。