RedHat /CentOS Tapes MT command

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

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:

At block 2:
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

Take advantage of the label command.

$ tar –label=”$(date +%F)”+”${MYCOMMENTS}”

Writing to tape on a remote computer

$ tar cvzf – ./tmp | ssh -l rajat ‘(mt -f /dev/nst0 rewind; dd of=/dev/st0 )’

Restoring the contents from tape on a remote computer

$ ssh -l rajat ‘(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