Warm tip: This article is reproduced from serverfault.com, please click

How do I verify a tape backup with tar?

发布于 2020-06-02 08:31:19

I am doing some tape backups with:

mt eom
tar cv Projects*

Note: $TAPE variable is set to /dev/nsa0

I would like to verify that backup has been properly done, via md5sum. Therefore I could do:

tar cvf test.tar Projects*

And I would like to compare with the tar stored in the tape.

However, I do not know how could I extract the whole tar file in the tape into a backupInTape.tar file so I can do:

md5sum test.tar
md5sum backupInTape.tar

This is what I have tried to do something like that (at the right location in the tape, verified with tar tv):

tar xv > backupInTape.tar

But it still extracts everything.

I am using FreeBSD 12.1

Questioner
M.E.
Viewed
1
dstromberg 2020-12-08 13:27:23

You could get the data from tape with the dd command, EG:

dd if="$TAPE" of=data-from-tape.tar bs=126

Check your 'tar' command's default blocksize, and replace the 126 with it. I believe Gnu tar uses 126, but other tar's may still default to 20 or something. With some tape drives, the blocksize matters a lot.

Also, see https://serverfault.com/questions/293605/check-integrity-of-tar-gz-backup

Also, Gnu tar can --diff to confirm that a tar archive is correct, byte for byte.