当前位置: 首页 > 科技观察

16个有用的Linux-Unix磁带管理命令

时间:2023-03-15 16:28:16 科技观察

在本教程中,您将学习:磁带设备名称管理磁带驱动器的基本命令基本备份和恢复命令这是必要的,如果您宁愿选择不备份,风险丢失重要数据的情况急剧增加。通过备份,您可以从磁盘故障中恢复。备份还可以帮助您避免:文件意外删除文件或文件系统损坏完全服务器故障,包括同磁盘备份由于火灾或其他问题损坏硬盘驱动器或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表示正在使用unity1,压缩密度,不倒带。/dev/rmt/0hb表示正在使用统一0、高密度、BSD行为。Linux上的自动倒带SCSI磁带设备名称:/dev/st0Linux上的非倒带SCSI磁带设备名称:/dev/nst0FreeBSD上的自动倒带SCSI磁带设备名称:/dev/sa0FreeBSDSCSI磁带设备上的不倒带名称:/dev/nsa0如何列出已安装的scsi磁带设备?输入以下命令:###Linux(有关更多信息,请参阅man)###lsscsilsscsi-g###IBMAIX###lsdev-Cctapelsdev-Ccadsmlscfg-vlrmt*###SolarisUnix###cfgadm–acfgadm-alluxadmprobeiostat-En###HP-UXUnix###ioscanCfioscan-funCtapeioscan-fnCtapeioscan-kfCtapemt命令示例在Linux和类Unix系统上,mt命令用于控制磁带机操作,例如查看状态或查找磁带上的文件或写入磁带控制标记.以下大部分命令需要以root用户身份执行。语法如下:mt-f/tape/device/nameoperation设置环境您可以设置TAPEshell变量。这是磁带机的路径名。在FreeBSD上,默认值(如果未设置变量,而不是null)是/dev/nsa0。可以通过使用mt命令的-f参数传递一个变量来覆盖它,如下所述。###添加到你的shell配置文件###TAPE=/dev/st1#LinuxTAPE=/dev/rmt/2#UnixTAPE=/dev/nsa3#FreeBSDexportTAPE1:showtape/drivestatusmtstatus###Usedefaultmt-f/dev/rmt/0status###Unixmt-f/dev/st0status###Linuxmt-f/dev/nsa0status###FreeBSDmt-f/dev/rmt/1status###Unixunity1istapedeviceno.1你可以使用下面的shell循环遍历系统并定位其所有磁带驱动器:fordin012345domt-f"/dev/rmt/${d}"statusdone2:rewindmtrewmtrewindmt-f/dev/mt/0rewindmt-f/dev/st0rewind3:ejecttapemtoffmtofflinemtejectmt-f/dev/mt/0offmt-f/dev/st0eject4:擦除磁带(倒带,如果支持则卸载磁带)mterasemt-f/dev/st0erase#Linuxmt-f/dev/rmt/0erase#Unix5:重新张紧磁带读取时磁带失败,重新张紧磁带,清洁磁带机,然后再试一次:mtretensionmt-f/dev/rmt/1retension#Unixmt-f/dev/st0retension#Linux6:在当前位置写入EOF标记磁带mteofmtweofmt-f/dev/st0eof7:按规格推进磁带指定的文件标记数,即跳过指定的EOF标记磁带定位到下一个文件的第一个块,即磁带将定位到下一个区域的第一个块(见图01):mtf??sfmt-f/dev/rmt/0fsfmt-f/dev/rmt/1fsf1#go1forwardfile/tape(seefig.01)8:将磁带移回指定的文件标记数,即倒带指定一个EOF标记。磁带定位在下一个文件的第一个块,即磁带会定位在EOF标记之后(见图01):mtbsfmt-f/dev/rmt/1bsfmt-f/dev/rmt/1bsf1#go1backwardfile/tape(seefig.01)以下是磁带定位命令的列表:fsf前进指定数量的文件标记磁带定位在下一个文件的第一个块。fsfm前进指定数量的文件标记。磁带位于前一个文件的最后一个块。bsf后退指定数量的文件标记。磁带位于前一个文件的最后一个块。bsfm后退指定数量的文件标记。磁带位于下一个文件的第一个块。asf磁带位于指定数量的文件标记的开头。定位是通过先倒带然后前进指定数量的文件标记来实现的。fsr前进指定数量的记录。bsr回溯指定的记录数。fss(SCSItapes)推进指定的集合标记。bss(SCSItapes)回退指定的集合标记。基本备份命令让我们看看备份和恢复命令。9:备份目录(tar格式)tarcvf/dev/rmt/0n/etctarcvf/dev/st0/etc10:恢复目录(tar格式)tarxvf/dev/rmt/0n-C/path/to/restortarxvf/dev/st0-C/tmp11:列出或检查磁带内容(tar格式)mt-f/dev/st0rewind;ddif=/dev/st0of=-###tarformat###tartvf{DEVICE}{Directory-FileName}tartvf/dev/st0tartvf/dev/st0desktoptartvf/dev/rmt/0foo>list.txt12:使用dump或ufsdump备份分区###Unix备份c0t0d0s2分区###ufsdump0uf/dev/rmt/0/dev/rdsk/c0t0d0s2###Linux备份/home分区###dump0uf/dev/nst0/dev/sda5dump0uf/dev/nst0/home###FreeBSD备份/usr分区###dump-0aL-b64-f/dev/nsa0/usr13:使用ufsrestore或恢复恢复分区###Unix###ufsrestorexf/dev/rmt/0###Unix交互式恢复###ufsrestoreif/dev/rmt/0###Linux###restorerf/dev/nst0###从第6次备份磁带介质上的交互式恢复###restoreisf6/dev/nst0###FreeBSD恢复ufsdump格式###restore-i-f/dev/nsa014:从磁带开始写入(见图02)###这将覆盖所有磁带上的数据###mt-f/dev/st1rewind###backuphome###tarcvf/dev/st1/home###offline并卸载磁带###mt-f/dev/st0offline从beginningofthetape:mt-f/dev/st0rewindtarxvf/dev/st0mt-f/dev/st0offline15:在最后一个tar之后开始写入(见图02)###这会保留之前写入的数据###mt-f/dev/st1eom###backuphome###tarcvf/dev/st1/home###uninstall###mt-f/dev/st0offline16:tarnumber2后开始写入(见图02)###writeaftertarnumber2(shouldbe2+1)###mt-f/dev/st0asf3tarcvf/dev/st0/usr###asf等同于fsf###mt-f/dev/sf0rewindmt-f/dev/st0fsf2从tar编号2恢复tar:mt-f/dev/st0asf3tarxvf/dev/st0mt-f/dev/st0offline关于第三方备份工具Linux和类Unix系统都提供了很多第三方工具可以用来安排备份,包括磁带备份,比如:AmandaBacularsyncduplicityrsnapshot