15 条实用 Linux/Unix 磁带管理命令
来源:互联网 发布:focusky 3.7破解版mac 编辑:程序博客网 时间:2024/05/16 12:05
在本教程中你将会了解到:
- 磁带设备名
- 管理磁带驱动器的基本命令
- 基本的备份和恢复命令
一个备份计划对定期备份文件来说很有必要,如果你宁愿选择不备份,那么丢失重要数据的风险会大大增加。有了备份,你就有了从磁盘故障中恢复的能力。备份还可以帮助你抵御:
- 意外的文件删除
- 文件或文件系统损坏
- 服务器完全毁坏,包括由于火灾或其他问题导致的同盘备份毁坏
- 硬盘或 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,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
输入下列命令:
### Linux(更多信息参阅 man) ###lsscsilsscsi -g### IBM AIX ###lsdev -Cc tapelsdev -Cc adsmlscfg -vl rmt*### Solaris Unix ###cfgadm –acfgadm -alluxadm probeiostat -En### HP-UX Unix ###ioscan Cfioscan -funC tapeioscan -fnC tapeioscan -kfC tape
在 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
mt status ### Use defaultmt -f /dev/rmt/0 status ### Unixmt -f /dev/st0 status ### Linuxmt -f /dev/nsa0 status ### FreeBSDmt -f /dev/rmt/1 status ### Unix unity 1 也就是 tape device no. 1
你可以像下面一样使用 shell 循环语句遍历一个系统并定位其所有的磁带驱动器:
for d in 0 1 2 3 4 5do mt -f "/dev/rmt/${d}" statusdone
mt rewmt rewindmt -f /dev/mt/0 rewindmt -f /dev/st0 rewind
mt offmt offlinemt ejectmt -f /dev/mt/0 offmt -f /dev/st0 eject
mt erasemt -f /dev/st0 erase #Linuxmt -f /dev/rmt/0 erase #Unix
如果磁带在读取时发生错误,你重新张紧磁带,清洁磁带驱动器,像下面这样再试一次:
mt retensionmt -f /dev/rmt/1 retension #Unixmt -f /dev/st0 retension #Linux
mt eofmt weofmt -f /dev/st0 eof
磁带定位在下一个文件的第一个块,即磁带会定位在下一区域的第一个块(见图01):
mt fsfmt -f /dev/rmt/0 fsfmt -f /dev/rmt/1 fsf 1 #go 1 forward file/tape (see fig.01)
磁带定位在下一个文件的第一个块,即磁带会定位在 EOF 标记之后(见图01):
mt bsfmt -f /dev/rmt/1 bsfmt -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 /etctar cvf /dev/st0 /etc
tar xvf /dev/rmt/0n -C /path/to/restoretar xvf /dev/st0 -C /tmp
mt -f /dev/st0 rewind; dd if=/dev/st0 of=-### tar 格式 ###tar tvf {DEVICE} {Directory-FileName}tar tvf /dev/st0tar tvf /dev/st0 desktoptar tvf /dev/rmt/0 foo > list.txt
### Unix 备份 c0t0d0s2 分区 ###ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s2### Linux 备份 /home 分区 ###dump 0uf /dev/nst0 /dev/sda5dump 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 rewindtar xvf /dev/st0mt -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 3tar cvf /dev/st0 /usr### asf 等效于 fsf ###mt -f /dev/sf0 rewindmt -f /dev/st0 fsf 2
从 tar number 2 恢复 tar:
mt -f /dev/st0 asf 3tar xvf /dev/st0mt -f /dev/st0 offline
Linux 和类Unix系统都提供了许多第三方工具,可以用来安排备份,包括磁带备份在内,如:
- Amanda
- Bacula
- rsync
- duplicity
- rsnapshot
本文转载自:http://www.linuxprobe.com/tape-management-command.html
免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/
- 15 条实用 Linux/Unix 磁带管理命令
- Linux/Unix 中常用的磁带管理命令有哪些?
- linux Unix 实用命令
- HP-UNIX 磁带备份-----make_tape_recovery命令详解
- UNIX/Linux 磁带验证及读写
- Linux开发管理实用命令
- linux/unix实用基本命令完整版
- linux//unix实用基本命令小全
- linux/unix实用基本命令完整版
- Linux/unix实用基本命令【完整版】
- Linux/Unix 实用命令(整理版)
- HPUX磁带管理命令及常见应用
- 实用Linux命令(5)磁盘管理
- [Linux实用命令]硬盘分区与管理
- 超实用的Linux/Unix快捷键大汇总(开发、管理)
- 超实用的Linux/Unix快捷键大汇总(开发、管理)
- 超实用的Linux/Unix快捷键大汇总(开发、管理)
- linux find命令实用几条命令记录
- JAVA中字符编码研究
- 堆(heap)和栈(stack)的区别
- java response 输出js
- 有关超类型的简单编程例子
- Linux学习之数值运算与运算符
- 15 条实用 Linux/Unix 磁带管理命令
- 利用Openvswitch实现不同物理机中的Docker容器互连
- BRIDGE(桥接模式)
- his跟hrp的区别
- org.hibernate.LazyInitializationException: could not initialize proxy - no Session
- 死锁的产生、预防、以及接触方法整理,一目了然
- maven打包jar包重复问题分析
- [剑指offer]序列化二叉树
- app系统签名