這篇文章給大家分享的是有關(guān)實(shí)用的Linux/Unix磁帶管理命令有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、仙桃網(wǎng)絡(luò)推廣、小程序定制開(kāi)發(fā)、仙桃網(wǎng)絡(luò)營(yíng)銷、仙桃企業(yè)策劃、仙桃品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供仙桃建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
為什么備份?
一個(gè)備份計(jì)劃對(duì)定期備份文件來(lái)說(shuō)很有必要,如果你寧愿選擇不備份,那么丟失重要數(shù)據(jù)的風(fēng)險(xiǎn)會(huì)大大增加。有了備份,你就有了從磁盤(pán)故障中恢復(fù)的能力。備份還可以幫助你抵御:
意外的文件刪除
文件或文件系統(tǒng)損壞
服務(wù)器完全毀壞,包括由于火災(zāi)或其他問(wèn)題導(dǎo)致的同盤(pán)備份毀壞
硬盤(pán)或 SSD 崩潰
病毒或勒索軟件破壞或刪除文件
你可以使用磁帶歸檔備份整個(gè)服務(wù)器并將其離線存儲(chǔ)。
理解磁帶文件標(biāo)記和塊大小
每個(gè)磁帶設(shè)備能存儲(chǔ)多個(gè)備份文件。磁帶備份文件通過(guò) cpio,tar,dd 等命令創(chuàng)建。同時(shí),磁帶設(shè)備可以由多種程序打開(kāi)、寫(xiě)入數(shù)據(jù)、及關(guān)閉。你可以存儲(chǔ)若干備份(磁帶文件)到一個(gè)物理磁帶上。在每個(gè)磁帶文件之間有個(gè)“磁帶文件標(biāo)記”。這用來(lái)指示一個(gè)物理磁帶上磁帶文件的結(jié)尾以及另一個(gè)文件的開(kāi)始。你需要使用 mt 命令來(lái)定位磁帶(快進(jìn),倒帶和標(biāo)記)。
磁帶上的數(shù)據(jù)是如何存儲(chǔ)的
所有的數(shù)據(jù)使用 tar 以連續(xù)磁帶存儲(chǔ)格式連續(xù)地存儲(chǔ)。***個(gè)磁帶歸檔會(huì)從磁帶的物理開(kāi)始端開(kāi)始存儲(chǔ)(tar #0)。接下來(lái)的就是 tar #1,以此類推。
Unix 上的磁帶設(shè)備名
/dev/rmt/0 或 /dev/rmt/1 或 /dev/rmt/[0-127] :Unix 上的常規(guī)磁帶設(shè)備名。磁帶自動(dòng)倒回。
/dev/rmt/0n :以無(wú)倒回為特征,換言之,磁帶使用之后,停留在當(dāng)前狀態(tài)等待下個(gè)命令。
/dev/rmt/0b :使用磁帶接口,也就是 BSD 的行為。各種類型的操作系統(tǒng)比如 AIX,Windows,Linux,F(xiàn)reeBSD 等的行為更有可讀性。
/dev/rmt/0l :設(shè)置密度為低。
/dev/rmt/0m :設(shè)置密度為中。
/dev/rmt/0u :設(shè)置密度為高。
/dev/rmt/0c :設(shè)置密度為壓縮。
/dev/st[0-9] :Linux 特定 SCSI 磁帶設(shè)備名。
/dev/sa[0-9] :FreeBSD 特定 SCSI 磁帶設(shè)備名。
/dev/esa0 :FreeBSD 特定 SCSI 磁帶設(shè)備名,在關(guān)閉時(shí)彈出(如果可以的話)。
磁帶設(shè)備名示例
/dev/rmt/1cn 指明正在使用 unity 1,壓縮密度,無(wú)倒回。
/dev/rmt/0hb 指明正在使用 unity 0,高密度,BSD 行為。
Linux 上的自動(dòng)倒回 SCSI 磁帶設(shè)備名:/dev/st0
Linux 上的無(wú)倒回 SCSI 磁帶設(shè)備名:/dev/nst0
FreeBSD 上的自動(dòng)倒回 SCSI 磁帶設(shè)備名:/dev/sa0
FreeBSD 上的無(wú)倒回 SCSI 磁帶設(shè)備名:/dev/nsa0
如何列出已安裝的 scsi 磁帶設(shè)備?
輸入下列命令:
### 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 系統(tǒng)上,mt 命令用來(lái)控制磁帶驅(qū)動(dòng)器的操作,比如查看狀態(tài)或查找磁帶上的文件或?qū)懭氪艓Э刂茦?biāo)記。下列大多數(shù)命令需要作為 root 用戶執(zhí)行。語(yǔ)法如下:
mt -f /tape/device/name operation
設(shè)置環(huán)境
你可以設(shè)置 TAPE shell 變量。這是磁帶驅(qū)動(dòng)器的路徑名。在 FreeBSD 上默認(rèn)的(如果變量沒(méi)有設(shè)置,而不是 null)是 /dev/nsa0。可以通過(guò) mt 命令的 -f 參數(shù)傳遞變量覆蓋它,就像下面解釋的那樣。
### 添加到你的 shell 配置文件 ### TAPE=/dev/st1 #Linux TAPE=/dev/rmt/2 #Unix TAPE=/dev/nsa3 #FreeBSD export TAPE
1:顯示磁帶/驅(qū)動(dòng)器狀態(tài)
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 循環(huán)語(yǔ)句遍歷一個(gè)系統(tǒng)并定位其所有的磁帶驅(qū)動(dòng)器:
for d in 0 1 2 3 4 5 do mt -f "/dev/rmt/$squ6kqw" 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:張緊磁帶盒
如果磁帶在讀取時(shí)發(fā)生錯(cuò)誤,你重新張緊磁帶,清潔磁帶驅(qū)動(dòng)器,像下面這樣再試一次:
mt retension mt -f /dev/rmt/1 retension #Unix mt -f /dev/st0 retension #Linux
6:在磁帶當(dāng)前位置寫(xiě)入 EOF 標(biāo)記
mt eof mt weof mt -f /dev/st0 eof
7:將磁帶前進(jìn)指定的文件標(biāo)記數(shù)目,即跳過(guò)指定個(gè) EOF 標(biāo)記
磁帶定位在下一個(gè)文件的***個(gè)塊,即磁帶會(huì)定位在下一區(qū)域的***個(gè)塊(見(jiàn)圖01):
mt fsf mt -f /dev/rmt/0 fsf mt -f /dev/rmt/1 fsf 1 #go 1 forward file/tape (see fig.01)
8:將磁帶后退指定的文件標(biāo)記數(shù)目,即倒帶指定個(gè) EOF 標(biāo)記
磁帶定位在下一個(gè)文件的***個(gè)塊,即磁帶會(huì)定位在 EOF 標(biāo)記之后(見(jiàn)圖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 前進(jìn)指定的文件標(biāo)記數(shù)目。磁帶定位在下一個(gè)文件的***塊。 fsfm 前進(jìn)指定的文件標(biāo)記數(shù)目。磁帶定位在前一文件的***一塊。 bsf 后退指定的文件標(biāo)記數(shù)目。磁帶定位在前一文件的***一塊。 bsfm 后退指定的文件標(biāo)記數(shù)目。磁帶定位在下一個(gè)文件的***塊。 asf 磁帶定位在指定文件標(biāo)記數(shù)目的開(kāi)始位置。定位通過(guò)先倒帶,再前進(jìn)指定的文件標(biāo)記數(shù)目來(lái)實(shí)現(xiàn)。 fsr 前進(jìn)指定的記錄數(shù)。 bsr 后退指定的記錄數(shù)。 fss (SCSI tapes)前進(jìn)指定的 setmarks。 bss (SCSI tapes)后退指定的 setmarks。
基本備份命令
讓我們來(lái)看看備份和恢復(fù)命令。
9:備份目錄(tar 格式)
tar cvf /dev/rmt/0n /etc tar cvf /dev/st0 /etc
10:恢復(fù)目錄(tar 格式)
tar xvf /dev/rmt/0n -C /path/to/restore tar xvf /dev/st0 -C /tmp
11:列出或檢查磁帶內(nèi)容(tar 格式)
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
12:使用 dump 或 ufsdump 備份分區(qū)
### Unix 備份 c0t0d0s2 分區(qū) ### ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s2 ### Linux 備份 /home 分區(qū) ### dump 0uf /dev/nst0 /dev/sda5 dump 0uf /dev/nst0 /home ### FreeBSD 備份 /usr 分區(qū) ### dump -0aL -b64 -f /dev/nsa0 /usr
13:使用 ufsrestore 或 restore 恢復(fù)分區(qū)
### Unix ### ufsrestore xf /dev/rmt/0 ### Unix 交互式恢復(fù) ### ufsrestore if /dev/rmt/0 ### Linux ### restore rf /dev/nst0 ### 從磁帶媒介上的第6個(gè)備份交互式恢復(fù) ### restore isf 6 /dev/nst0 ### FreeBSD 恢復(fù) ufsdump 格式 ### restore -i -f /dev/nsa0
14:從磁帶開(kāi)頭開(kāi)始寫(xiě)入(見(jiàn)圖02)
### 這會(huì)覆蓋磁帶上的所有數(shù)據(jù) ### mt -f /dev/st1 rewind ### 備份 home ### tar cvf /dev/st1 /home ### 離線并卸載磁帶 ### mt -f /dev/st0 offline
從磁帶開(kāi)頭開(kāi)始恢復(fù):
mt -f /dev/st0 rewind tar xvf /dev/st0 mt -f /dev/st0 offline
15:從***一個(gè) tar 后開(kāi)始寫(xiě)入(見(jiàn)圖02)
### 這會(huì)保留之前寫(xiě)入的數(shù)據(jù) ### mt -f /dev/st1 eom ### 備份 home ### tar cvf /dev/st1 /home ### 卸載 ### mt -f /dev/st0 offline
16:從 tar number 2 后開(kāi)始寫(xiě)入(見(jiàn)圖02)
### 在 tar number 2 之后寫(xiě)入(應(yīng)該是 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 恢復(fù) tar:
mt -f /dev/st0 asf 3 tar xvf /dev/st0 mt -f /dev/st0 offline
關(guān)于第三方備份工具
Linux 和類Unix系統(tǒng)都提供了許多第三方工具,可以用來(lái)安排備份,包括磁帶備份在內(nèi),如:
Amanda
Bacula
rsync
duplicity
rsnapshot
感謝各位的閱讀!關(guān)于“實(shí)用的Linux/Unix磁帶管理命令有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!