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
4 comments:
how to partition? :)
If you see "MT" man page you can find under.
setpartition
(SCSI tapes) Switch to the partition determined by count. The default data partition of the tape is numbered zero. Switching partition is available only if enabled for the device, the device supports multiple partitions, and the tape is formatted with multiple partitions.
partseek
(SCSI tapes) The tape position is set to block count in the partition given by the argument after count. The default partition is zero.
mkpartition
(SCSI tapes) Format the tape with one (count is zero) or two partitions (count gives the size of the second partition in megabytes). The tape drive must be able to format partitioned tapes with initiator-specified partition size and partition support must be enabled for the drive.
Hello there. Your posts and share are great. I got something in my head. st0 while the command line was why nst0. Thanks
Hello there. Your posts and share are great. I got something in my head. st0 while the command line was why nst0. Thanks
Post a Comment