1.磁带设备名

2.管理磁带驱动器的基本命令

3.基本的备份和恢复命令

为什么备份?

一个备份计划对定期备份文件来说很有必要,如果你宁愿选择不备份,那么丢失重要数据的风险会大大增加。有了备份,你就有了从磁盘故障中恢复的能力。备份还可以帮助你抵御:意外的文件删除/文件或文件系统损坏/服务器完全毁坏,包括由于火灾或其他问题导致的同盘备份毁坏、硬盘或 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 指明正在使用 unity 1,压缩密度,无倒回。

/dev/rmt/0hb 指明正在使用 unity 0,高密度,BSD 行为。

Linux 上的自动倒回 SCSI 磁带设备名:/dev/st0

Linux 上的无倒回 SCSI 磁带设备名:/dev/nst0

FreeBSD 上的自动倒回 SCSI 磁带设备名:/dev/sa0

FreeBSD 上的无倒回 SCSI 磁带设备名:/dev/nsa0

如何列出已安装的 scsi 磁带设备?

输入下列命令:

### 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 系统上,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

1:显示磁带/驱动器状态

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

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:张紧磁带盒

如果磁带在读取时发生错误,你重新张紧磁带,清洁磁带驱动器,像下面这样再试一次:

mt retension

mt -f /dev/rmt/1 retension #Unix

mt -f /dev/st0 retension #Linux

6:在磁带当前位置写入 EOF 标记

mt eof

mt weof

mt -f /dev/st0 eof

7:将磁带前进指定的文件标记数目,即跳过指定个 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)

8:将磁带后退指定的文件标记数目,即倒带指定个 EOF 标记

磁带定位在下一个文件的第一个块,即磁带会定位在 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。

基本备份命令

让我们来看看备份和恢复命令。

9:备份目录(tar 格式)

tar cvf /dev/rmt/0n /etc

tar cvf /dev/st0 /etc

10:恢复目录(tar 格式)

tar xvf /dev/rmt/0n -C /path/to/restore

tar xvf /dev/st0 -C /tmp

11:列出或检查磁带内容(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 备份分区

### 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

13:使用 ufsrestore 或 restore 恢复分区

### 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

14:从磁带开头开始写入(见图02)

### 这会覆盖磁带上的所有数据 ###

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

15:从最后一个 tar 后开始写入(见图02)

### 这会保留之前写入的数据 ###

mt -f /dev/st1 eom

### 备份 home ###

tar cvf /dev/st1 /home

### 卸载 ###

mt -f /dev/st0 offline

16:从 tar number 2 后开始写入(见图02)

### 在 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

linux看磁带内容命令,Linux下磁带管理命令相关推荐

  1. 详解Linux命令行下常用svn命令

    2019独角兽企业重金招聘Python工程师标准>>> 本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目 ...

  2. Linux命令行下常用svn命令的使用方法[转自:www.hackbase.com]

    本文讲述了Linux命令行下常用svn命令的使用方法,希望对您有所帮助. 1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如: ...

  3. linux dd 编辑,Vim编辑器中,在命令模式下的dd命令是用来( )。

    Vim编辑器中,在命令模式下的dd命令是用来( ). 更多相关问题 下列说法中不正确的是()A.-1的立方根是-1B.0的平方根与立方根相等C.-4的平方根是±2D.每个数都有一个立方 设s=11+1 ...

  4. Windows命令行下常用网络命令解释大全

    命令行下常用网络命令解释大全 1.Arp 显示和修改"地址解析协议"(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表.该命令只有在安装了 TCP/IP 协议之后才可用. ...

  5. vim 底行命令模式下的全局命令 g(global)

    文章目录 命令格式介绍 常用的 ex 指令 关于 range 参考示例 结合替换指令 s 使用 将包含 pattern 的行追加到指定的寄存器中 插入空行 打印符合要求的行 删除匹配的行 删除不匹配的 ...

  6. java test abc_DOS命令行下成功执行命令:java Test abc 21,则以下描述正确的是()

    [单选题]假设有两个整数x和y,表达式x>=y?x:y的含义是() [单选题]下列哪项不是Java语言的关键字?() [判断题]每项经济业务发生后,都会引起企业的资产和权益总额发生增减变动,但会 ...

  7. linux 修改文件内容sed,linux下通过sed命令直接修改文件内容

    linux下通过sed命令直接修改文件内容 sed是实现对流的编辑.通常,我们使用sed可以实现内容的编辑后然后保存成另外的一个文件,如果正确的话,才写入到源文件.但是某些时候,我们需要直接修改文件, ...

  8. linux中vim内容定位,Linux运维行走江湖必备之:vim命令常用参数

    原标题:Linux运维行走江湖必备之:vim命令常用参数 vim是Linux运维日常工作中最常用的命令之一,vim命令的参数有很多,我们选用一些常用的命令参数,足以对付日常的文本编辑工作,如果日后有需 ...

  9. linux 下载python命令_Linux下修改Python命令的方法示例(附代码)

    本篇文章给大家带来的内容是关于Linux下修改Python命令的方法示例(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Linux默认python命令指向的是/usr/bi ...

  10. linux枯燥命令行下的“有趣命令”

    本文所有示例都使用Ubuntu Linux.文中描述命令行功能或许在你的Linux系统中是默认的. 有趣的Linux命令行功效 1. Linux"sl"命令行 尽管"sl ...

最新文章

  1. JQuery插件,轻量级表单模型验证(续 二)
  2. 存储器里面的一个采用直接映射方式的32KB缓存-一个四路组相连的缓存,容量为16KB
  3. Dash:程序员的好帮手(转载)
  4. 你可能过于高估了机器学习算法能力,带你解读鲜为人知的数据泄露问题
  5. leetcode 592. Fraction Addition and Subtraction | 592. 分数加减运算(最大公因数gcd,最小公倍数lcm)
  6. python组合数据分类_Python解决数据样本类别分布不均衡问题
  7. Kubernetes 学习总结(19)—— Kubernetes 集群管理平台如何选择?Rancher vs KubeSphere
  8. BZOJ 1801: [Ahoi2009]chess 中国象棋( dp )
  9. 1、流程控制语句switch 2、数组 3、随机点名器案例
  10. element表格图片放大_利用element-ui怎么实现一个点击放大图片功能
  11. 新浪和腾讯微博开放平台比较
  12. python怎么关闭浏览器_python selenium 对浏览器标签页进行关闭和切换的方法
  13. 禁止浏览器自动填充用户名和密码
  14. 谷歌浏览器打开本地堡垒机应用发布服务器cmd的方法
  15. ROS-开源的机器人操作系统
  16. 百胜中国2020年第三季度总收入为23.5亿美元,同比增加1%
  17. Server2008额外域控制器抢占主域控制器(操作全过程)
  18. B2C电子商务基础系统架构解析
  19. 阿里副总裁凌晨4 点“逃离上海”?贾扬清回应是前往美国看病,网友:双面人!...
  20. 什么是网络钓鱼,攻击类型和防御?

热门文章

  1. 华为云访问密钥AK\SK获取
  2. 联发科p60和骁龙710哪个好_骁龙670、联发科P60和麒麟710哪个好 详细对比介绍
  3. 列出每一个部门中年纪最大的员工姓名,部门名称【多测师_王sir】
  4. 一条语句查询出所有雇员的编号、姓名、性别、出生日期、电话号码部门名称和本月收入
  5. java如何获取当前时间 年月日 时分秒
  6. unity 图文混排方案
  7. 你又知不知道,日有所思,夜有所梦。
  8. LabVIEW代码中常见的错误
  9. ICMP目的网络,主机,协议,端口不可达报文的Type值,Code值分别是
  10. 虚机打不开报failed to lock the file错误原因及解决方案