有谁知道如何从使用 NTBackup 创建的磁带中读取文件?
情况如下。几个月前,我的办公室将一个关键软件从本地服务器迁移到供应商托管的解决方案。旧机器运行的是 Windows Server 2003。每天晚上我们都使用 NTBackup 将重要文件写入磁带。这些是完整备份,而不是增量备份。该驱动器是 DAT72 型号。我不记得我们是否使用了压缩。
现在我们需要从旧服务器检索文件。当然,我们已经重新配置它并擦除了硬盘驱动器,只留下备份。目前该盒子运行 Debian 7.8。虽然我们周围还有其他计算机,但有问题的计算机是 Dell PowerEdge 2800,磁带驱动器具有 SCSI 连接。我们办公室的其他机器没有这样的插槽,所以我不能只是将驱动器连接到其他地方。唯一的好消息是对空白磁带进行读/写操作。
Tar 不会读取磁带,因为它不是 tar 存档。我设法找到了一个公用事业它将读取 NTBackup 使用的 MTF 格式。不幸的是,它只读取元数据,例如媒体名称、描述等。我似乎无法列出这些文件,更不用说提取它们了。有人有任何见解吗?我的目标是列出磁带上的文件并确保可以检索它们。
更新:我能够将磁带中的某些内容添加到文件中。它只有 64Kb,因此该命令可能只读取一个块。结合我可以使用 /dev/nst0 而不是 /dev/st0 的实现,这感觉像是一个进步。
答案1
我已成功使用 dd 命令从磁带中提取了大约 21GB 的数据(并且还在计数)。本教程这里尽管有关附加文件和循环的部分更具挑战性,但非常有帮助。数据仍然需要解释,但我对自己找到方法的能力更有信心。
答案2
我也有类似的情况。有一个旧的 DDS4 磁带,我们想从中恢复一些代码。
做dd
3次得到第一个32Kb的文件,下一个文件也是32Kb。连续第三次发出该命令时,出现了 1.2Gb 的文件。我可以阅读它的文本部分,发现它是用 NTBACKUP 编写的,这是我以前不知道的。
dd if=/dev/st0 of=file1 bs=32k count=1 dd if=/dev/st0 of=file2 bs=32k count=1 dd if=/dev/st0 of=file3 bs=32k count=1
grep 必须首先--binary-files=text
使用该string
命令将二进制格式转换为可读格式。另外,如此大的文件使文本编辑器变得困难vi
,emacs
无法nano
处理它。less
可以more
,但最好将其分成块。
现在,您是否成功地将 NTbackup 格式转变为 Linux 可以理解的格式?
我使用的是 Fedora 21。