如何使用 tar 验证磁带备份?
How do I verify a tape backup with tar?
我正在做一些磁带备份:
mt eom
tar cv Projects*
注意:$TAPE 变量设置为 /dev/nsa0
我想通过 md5sum
验证备份是否已正确完成。因此我可以这样做:
tar cvf test.tar Projects*
并且我想与存储在磁带中的 tar 进行比较。
但是,我不知道如何将磁带中的整个 tar 文件提取到 backupInTape.tar 文件中,这样我就可以:
md5sum test.tar
md5sum backupInTape.tar
这就是我尝试做的类似的事情(在磁带的正确位置,用 tar tv
验证):
tar xv > backupInTape.tar
但它仍然提取所有内容。
我正在使用 FreeBSD 12.1
您可以使用dd命令从磁带中获取数据,例如:
dd if="$TAPE" of=data-from-tape.tar bs=126
检查您的 'tar' 命令的默认块大小,并用它替换 126。我相信 Gnu tar 使用 126,但其他 tar 可能仍默认为 20 或其他。对于某些磁带驱动器,块大小很重要。
另外,参见 https://serverfault.com/questions/293605/check-integrity-of-tar-gz-backup
此外,Gnu tar 可以 --diff 来确认 tar 档案是正确的,一个字节接一个字节。
我正在做一些磁带备份:
mt eom
tar cv Projects*
注意:$TAPE 变量设置为 /dev/nsa0
我想通过 md5sum
验证备份是否已正确完成。因此我可以这样做:
tar cvf test.tar Projects*
并且我想与存储在磁带中的 tar 进行比较。
但是,我不知道如何将磁带中的整个 tar 文件提取到 backupInTape.tar 文件中,这样我就可以:
md5sum test.tar
md5sum backupInTape.tar
这就是我尝试做的类似的事情(在磁带的正确位置,用 tar tv
验证):
tar xv > backupInTape.tar
但它仍然提取所有内容。
我正在使用 FreeBSD 12.1
您可以使用dd命令从磁带中获取数据,例如:
dd if="$TAPE" of=data-from-tape.tar bs=126
检查您的 'tar' 命令的默认块大小,并用它替换 126。我相信 Gnu tar 使用 126,但其他 tar 可能仍默认为 20 或其他。对于某些磁带驱动器,块大小很重要。
另外,参见 https://serverfault.com/questions/293605/check-integrity-of-tar-gz-backup
此外,Gnu tar 可以 --diff 来确认 tar 档案是正确的,一个字节接一个字节。