Working with "mt" Commands: reading and writing to tape. The following assumes the tape device is "/dev/st0" STEP 1 ( rewind the tape) # mt -f /dev/nst0 rewind STEP 2 (check to see if you are at block 0) # mt -f /dev/nst0 tell At block 0. STEP 3 (Backup "tar compress" directories "today" and "etc") # tar -czf /dev/nst0 today etc STEP 4 (Check to see what block you are at) # mt -f /dev/nst0 tell You should get something like block 2 at this point. STEP 5 (Rewind the tape) # mt -f /dev/nst0 rewind STEP 6 (List the files) # tar -tzf /dev/nst0 today/ etc/ STEP 7 (Restore directory "one" into directory "junk"). Note, you have to first rewind the tape, since the last operation moved ahead 2 blocks. Check this with "mt -f /dev/nst0". # cd junk # mt -f /dev/nst0 rewind # mt -f /dev/nst0 tell At block 0. # tar -xzf /dev/nst0 today STEP 8 (Next, take a look to see what block the tape is at) # mt -f /dev/nst0 tell At block 2. STEP 9 (Now backup directories three and four) # tar -czf /dev/nst0 kd6w2 kd6mtf After backing up the files, the tape should be past block 2. Check this. # mt -f /dev/nst0 tell At block 4. Currently the following exist: At block 1: today/ etc/ kd6w2/ At block 2: kd5mtf
At block 4: (* This is empty *) A few notes. You can set the blocking factor and a label with tar.
$ tar --label="temp label" --create --blocking-factor=128 --file=/dev/nst0 Notes But note if you try to read it with the default, incorrect blocking factor, then, you will get the following error: $ tar -t --file=/dev/nst0 tar: /dev/nst0: Cannot read: Cannot allocate memory tar: At beginning of tape, quitting now tar: Error is not recoverable: exiting now However this is easily fixed with the correct blocking factor $ mt -f /dev/nst0 rewind $ tar -t --blocking-factor=128 --file=/dev/nst0 workingdir testarea conf.txt Take advantage of the label command. $ MYCOMMENTS="tape" $ tar --label="$(date +%F)"+"${MYCOMMENTS}" Writing to tape on a remote 192.168.56.5 computer $ tar cvzf - ./tmp | ssh -l rajat 192.168.56.5 '(mt -f /dev/nst0 rewind; dd of=/dev/st0 )' Restoring the contents from tape on a remote computer $ ssh -l rajat 192.168.56.5 '(mt -f /dev/nst0 rewind; dd if=/dev/st0 )'|tar xzf - Getting data off of tape with dd command with odd blocking factor. Just set ibs very high $ mt -f /dev/nst0 rewind $ tar --label="Contenets of Notes" --create --blocking-factor=128 --file=/dev/nst0 Notes $ mt -f /dev/nst0 rewind $ dd ibs=1048576 if=/dev/st0 of=notes.tar The above will probably work with ibs=64k as well