Linux/Unix磁带管理的方法有哪些
这篇文章主要介绍了Linux/Unix磁带管理的方法有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux/Unix磁带管理的方法有哪些文章都会有所收获,下面我们一起来看看吧。
为什么备份?
一个备份计划对定期备份文件来说很有必要,如果你宁愿选择不备份,那么丢失重要数据的风险会大大增加。有了备份,你就有了从磁盘故障中恢复的能力。备份还可以帮助你抵御:
你可以使用磁带归档备份整个服务器并将其离线存储。
理解磁带文件标记和块大小
每个磁带设备能存储多个备份文件。磁带备份文件通过 cpio,tar,dd 等命令创建。同时,磁带设备可以由多种程序打开、写入数据、及关闭。你可以存储若干备份(磁带文件)到一个物理磁带上。在每个磁带文件之间有个“磁带文件标记”。这用来指示一个物理磁带上磁带文件的结尾以及另一个文件的开始。你需要使用 mt 命令来定位磁带(快进,倒带和标记)。
磁带上的数据是如何存储的
所有的数据使用 tar 以连续磁带存储格式连续地存储。第一个磁带归档会从磁带的物理开始端开始存储(tar #0)。接下来的就是 tar #1,以此类推。
Unix 上的磁带设备名
磁带设备名示例
如何列出已安装的 scsi 磁带设备?
输入下列命令:
###Linux(更多信息参阅man)###lsscsilsscsi-g###IBMAIX###lsdev-Cctapelsdev-Ccadsmlscfg-vlrmt*###SolarisUnix###cfgadm–acfgadm-alluxadmprobeiostat-En###HP-UXUnix###ioscanCfioscan-funCtapeioscan-fnCtapeioscan-kfCtape
mt 命令示例
在 Linux 和类 Unix 系统上,mt 命令用来控制磁带驱动器的操作,比如查看状态或查找磁带上的文件或写入磁带控制标记。下列大多数命令需要作为 root 用户执行。语法如下:
mt-f/tape/device/nameoperation
设置环境
你可以设置 TAPE shell 变量。这是磁带驱动器的路径名。在 FreeBSD 上默认的(如果变量没有设置,而不是 null)是 /dev/nsa0。可以通过 mt 命令的 -f 参数传递变量覆盖它,就像下面解释的那样。
###添加到你的shell配置文件###TAPE=/dev/st1#LinuxTAPE=/dev/rmt/2#UnixTAPE=/dev/nsa3#FreeBSDexportTAPE
1:显示磁带/驱动器状态
mtstatus###Usedefaultmt-f/dev/rmt/0status###Unixmt-f/dev/st0status###Linuxmt-f/dev/nsa0status###FreeBSDmt-f/dev/rmt/1status###Unixunity1也就是tapedeviceno.1
你可以像下面一样使用 shell 循环语句遍历一个系统并定位其所有的磁带驱动器:
fordin012345domt-f"/dev/rmt/${d}"statusdone
2:倒带
mtrewmtrewindmt-f/dev/mt/0rewindmt-f/dev/st0rewind
3:弹出磁带
mtoffmtofflinemtejectmt-f/dev/mt/0offmt-f/dev/st0eject
4:擦除磁带(倒带,在支持的情况下卸载磁带)
mterasemt-f/dev/st0erase#Linuxmt-f/dev/rmt/0erase#Unix
5:张紧磁带盒
如果磁带在读取时发生错误,你重新张紧磁带,清洁磁带驱动器,像下面这样再试一次:
mtretensionmt-f/dev/rmt/1retension#Unixmt-f/dev/st0retension#Linux
6:在磁带当前位置写入 EOF 标记
mteofmtweofmt-f/dev/st0eof
7:将磁带前进指定的文件标记数目,即跳过指定个 EOF 标记
磁带定位在下一个文件的第一个块,即磁带会定位在下一区域的第一个块(见图01):
mtfsfmt-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)前进指定的setmarks。bss(SCSItapes)后退指定的setmarks。
基本备份命令
让我们来看看备份和恢复命令。
9:备份目录(tar 格式)
tarcvf/dev/rmt/0n/etctarcvf/dev/st0/etc
10:恢复目录(tar 格式)
tarxvf/dev/rmt/0n-C/path/to/restoretarxvf/dev/st0-C/tmp
11:列出或检查磁带内容(tar 格式)
mt-f/dev/st0rewind;ddif=/dev/st0of=-###tar格式###tartvf{DEVICE}{Directory-FileName}tartvf/dev/st0tartvf/dev/st0desktoptartvf/dev/rmt/0foo>list.txt
12:使用 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/usr
13:使用 ufsrestore 或 restore 恢复分区
###Unix###ufsrestorexf/dev/rmt/0###Unix交互式恢复###ufsrestoreif/dev/rmt/0###Linux###restorerf/dev/nst0###从磁带媒介上的第6个备份交互式恢复###restoreisf6/dev/nst0###FreeBSD恢复ufsdump格式###restore-i-f/dev/nsa0
14:从磁带开头开始写入(见图02)
###这会覆盖磁带上的所有数据###mt-f/dev/st1rewind###备份home###tarcvf/dev/st1/home###离线并卸载磁带###mt-f/dev/st0offline
从磁带开头开始恢复:
mt-f/dev/st0rewindtarxvf/dev/st0mt-f/dev/st0offline
15:从最后一个 tar 后开始写入(见图02)
###这会保留之前写入的数据###mt-f/dev/st1eom###备份home###tarcvf/dev/st1/home###卸载###mt-f/dev/st0offline
16:从 tar number 2 后开始写入(见图02)
###在tarnumber2之后写入(应该是2+1)###mt-f/dev/st0asf3tarcvf/dev/st0/usr###asf等效于fsf###mt-f/dev/sf0rewindmt-f/dev/st0fsf2
从 tar number 2 恢复 tar:
mt-f/dev/st0asf3tarxvf/dev/st0mt-f/dev/st0offline
关于第三方备份工具
Linux 和类Unix系统都提供了许多第三方工具,可以用来安排备份,包括磁带备份在内,如:
关于“Linux/Unix磁带管理的方法有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Linux/Unix磁带管理的方法有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。