当您不完全确定磁带驱动器中的内容时,从磁带驱动器转储数据的安全方法是什么?

当您不完全确定磁带驱动器中的内容时,从磁带驱动器转储数据的安全方法是什么?

我有一个旧磁带机和我最近发现的旧磁带。我能够将磁带驱动器连接到 Linux 并执行以下命令:

mt -f /dev/nst0 rewind
dd if=/dev/nst0 of=dump.file

我的问题是,如果您不知道磁带是在什么格式下创建的,那么最安全的使用方法是什么dd?另一方面,如果您知道所有文件都是 tar 文件,那么您会做什么?

答案1

来自dd 上的这篇文章:

dd 按块读写数据,并且可以进行数据格式之间的转换。 dd 经常用于具有离散块大小的磁带等设备,或用于从磁盘进行快速多扇区读取

dd将从一个文件(或设备)读取原始字节并将其写入另一个文件。它不关心(甚至不知道)文件系统或文件格式。它看到的只是由 1 和 0 组成的块。

请注意,您可能如果磁带是在大端机器上写入的(或者可能不需要),则需要交换端序,而大端机器曾经更流行。

你可以这样做如此处所述:

dd if=/dev/nst0 of=dump.file ibs=20b conv=swab

顺便说一句,dd不会更改输入文件上的任何内容(如果)。它只写入输出文件。因此,如果您担心的话,它不会损害磁带上的数据。

答案2

我最近写了一个工具叫磁带镜像自动从磁带中提取所有文件。在内部它环绕 dd 和 mt。更多信息请点击这里:

https://github.com/KBNLresearch/tapeimgr

它还自动确定块大小(手动操作可能非常繁琐)。尚不支持字节交换,但在阅读了 @layne-bernardo 的答案后,我已将其放在即将发布的待办事项列表中。免责声明::到目前为止,我仅使用有限数量的 DDS 和 DLT-IV 磁带以及虚拟磁带库测试了该工具,因此使用风险自负!

相关内容