在本教程中你将会了解到:

· 磁带设备名

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

· 基本的备份和恢复命令

为什么备份?

一个备份计划对定期备份文件来说很有必要,如果你宁愿选择不备份,那么丢失重要数据的风险会大大增加。有了备份,你就有了从磁盘故障中恢复的能力。备份还可以帮助你抵御:

· 意外的文件删除

· 文件或文件系统损坏

· 服务器完全毁坏,包括由于火灾或其他问题导致的同盘备份毁坏

· 硬盘或 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 之后写入(http://www.51969.com/应该是 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查看磁带大小命令,16条实用的Linux/Unix 磁带管理命令相关推荐

  1. linux看目录用的哪个磁盘,linux查看目录大小及硬盘大小

    linux查看目录大小及硬盘大小的命令: # du -ks   ---in all # du -k     ---every last du和df命令都被用于获得文件系统大小的信息:df用于报告文件系 ...

  2. linux查看硬盘大小与挂载硬盘

    linux查看硬盘大小与挂载硬盘 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 linux的硬盘有挂载 ...

  3. linux检查内存插槽,Linux查看内存大小和插槽

    相信大家更换自己笔记本电脑的内存时一定是得心应手,即便是一名新手也可以很轻松的动手实现,其实服务器的内存更换也很简单,关机->挪盖->按指定顺序插拔.不过这里有一个很重要的共性前提,需要清 ...

  4. Linux查看目录大小文件大小内存大小硬盘大小

    Linux查看目录大小文件大小内存大小硬盘大小 Linux运维操作时,需要查看文件大小,以及服务器的可用存储大小. df 命令以磁盘分区为单位查看文件系统 # 查看磁盘剩余空间 df -hl # 查看 ...

  5. linux 查看桌面目录下,16个桌面Linux用户必须要知道的Shell命令

    有些人仍然会有这中愚蠢的想法,他们认为使用Linux就必须使用Linux shell命令.胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面 ...

  6. linux查看block大小命令,Linux/Centos下多种方法查看系统block size大小

    例如: tune2fs -l /dev/hda1 |grep "Block size" Block size:               4096 另一个工具dumpe2fs也可 ...

  7. linux看内存插槽,Linux查看内存大小和插槽

    前言 相信大家更换自己笔记本电脑的内存时一定是得心应手,即便是一名新手也可以很轻松的动手实现,其实服务器的内存更换也很简单,关机->挪盖->按指定顺序插拔.不过这里有一个很重要的共性前提, ...

  8. linux查看系统的日志的一些实用操作

    last last,lastb [options][username...][tty...] -a---- 登录主机名显示在最后一列 -d----将IP地址转换成主机名称 -f---- 文件 -F-- ...

  9. redhat linux 查看内存大小,CentOS (RHEL) 系统管理中的查看内存插槽数、最大容量和频率...

    Linux 查看内存的插槽数,已经使用多少插槽.每条内存多大,已使用内存多大 [root@HNTX-XY-PIM-HA5 ~]# dmidecode|grep -P -A5 "Memory\ ...

  10. Linux查看硬盘大小

    #fdisk–l命令.可以查看硬盘大小.如图可以看到该硬盘一共约600G. 技术交流 CleverCode是一名架构师,技术交流,咨询问题,请加CleverCode创建的qq群(架构师俱乐部):517 ...

最新文章

  1. 2 模版_你还只会套PPT模版吗? | 大学生PPT进阶指南(附免费资源amp;教程)
  2. AJAX GET的请求
  3. java 内存_java节省内存的几条建议
  4. redis日志追加频率
  5. java学习(132):hashtable使用map替代实体数据
  6. springboot整合redis修改分区
  7. mysql重复记录大于十的数据库_面试官:在使用mysql数据库时,遇到重复数据怎么处理?...
  8. Linux进阶之路————scp指令介绍与演示
  9. zoj 3228 覆盖及非覆盖串的多次匹配
  10. macOS Monterey Finder 的新功能
  11. oppo如何用计算机找回锁屏密码,OPPO忘了锁屏密码怎么办?从解锁到恢复全过程...
  12. MATLAB读二进制数据文件
  13. 【LDO低压差线性稳压芯片的使用(LM1117)】
  14. Windows Server 2012 R2添加或删除角色和功能时提示无法打开匿名级安全令牌
  15. 对泊松分布的一点理解
  16. 8篇论文详解用户历史行为序列建模方法
  17. 每日股市大盘自动复盘(基于聚宽量化投资平台)
  18. RSA加密(3.0)
  19. Web前端学习笔记11:JavaScript_注释_输入输出_变量_数据类型_关键字_保留字_运算符_流程控制
  20. 小米mix3 android os是什么,小米MIX 3

热门文章

  1. 集团施工企业安全生产风险管控和隐患排查治理双重预防机制数字化建设方案
  2. 通信系统仿真2-蒙特卡洛方法
  3. 2019最新黑马视频教程分享给大家十次方乐优商城项目下载
  4. C++编程笔记(QT)
  5. ZN-17A机器人光机电一体化分拣实训系统
  6. 自适应滤波1-维纳滤波器-正交原理
  7. 蓝牙(Android使用)基本原理
  8. CADD课程学习(13)-- 研究蛋白小分子动态相互作用-III(蛋白配体复合物 GROMACS)
  9. PCA主成分分析/LDA线性判别分析/CCA典型相关分析 对比
  10. Multisim简体中文汉化包下载安装指南