A computer components & hardware forum. HardwareBanter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » HardwareBanter forum » General Hardware & Peripherals » Storage & Hardrives
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Tape Scanning in Linux



 
 
Thread Tools Display Modes
  #1  
Old November 3rd 05, 05:32 PM
2hawks
external usenet poster
 
Posts: n/a
Default Tape Scanning in Linux

Hi,

Could someone kindly tell me how to scan tapes in Linux. For example,
if there are multiple cpio archives on one tape, how can I find out how
many are on it? If I am thinking correctly, cpio will only list
whatever is the first archive it finds.

Is it in the method of addressing the device? st0 and nst0 etc? or is
there a utility or command that can essentially ls the tape in the
drive?

Thanks much,
Robert

  #2  
Old November 3rd 05, 07:02 PM
Steve Cousins
external usenet poster
 
Posts: n/a
Default Tape Scanning in Linux

2hawks wrote:

Hi,

Could someone kindly tell me how to scan tapes in Linux. For example,
if there are multiple cpio archives on one tape, how can I find out how
many are on it? If I am thinking correctly, cpio will only list
whatever is the first archive it finds.

Is it in the method of addressing the device? st0 and nst0 etc? or is
there a utility or command that can essentially ls the tape in the
drive?


I just wrote a script to do something very similar with some old Amanda
tapes I have. Yours should be much simpler. I've changed it to do what
I think you want:

=======================
#!/bin/sh

# Script to do a cpio inventory of a tape.
#
# Assumes: 1. /dev/tape - /dev/nst0 or other non-rewinding tape device
# 2. not more than 100 tape files on the tape
# 3. programs: mt, seq, cpio, grep, wc, and bc are in PATH
# 4. mt reports "EOD" after end of last tape file is reached

mt rewind

for FILENUM in `seq 1 100`
do
echo "============================="
echo " Contents of file $FILENUM: "
echo "============================="
cpio -tv /dev/tape

# Check to see if we are at the end of the tape:
END_TEST=`mt status | grep EOD | wc -l | bc`
if [ "$END_TEST" = "1" ]
then
mt offline
exit
fi
done
=======================

While this isn't the most elegant script, it gets the job done. It will
give a "Input/Output" error after it gets to the end of the last file
because the status is EOF until the last cpio is done and then it goes
to EOD. Anyone have a better solution to this?

I'd run this as:

./ti.sh tape_1.log

to save the inventory to a file.

Good luck,

Steve

  #3  
Old November 5th 05, 08:11 AM
2hawks
external usenet poster
 
Posts: n/a
Default Tape Scanning in Linux

nice... thanks for that. That solves the cpio end of things for me I
guess. Now I wonder if that would work the same with tar.... or other
methods of writing to tape. Trick for me would be to develop a script
that just looked at the tape and did and ls of it... not dependent on
cpio or anything.

  #4  
Old November 7th 05, 05:41 PM
Steve Cousins
external usenet poster
 
Posts: n/a
Default Tape Scanning in Linux

2hawks wrote:

nice... thanks for that. That solves the cpio end of things for me I
guess. Now I wonder if that would work the same with tar.... or other
methods of writing to tape. Trick for me would be to develop a script
that just looked at the tape and did and ls of it... not dependent on
cpio or anything.


cpio will work with tar too. To check for what type of file is on the
tape you could try putting something like this in your script:

FILE_TYPE=`dd if=/dev/tape bs=32k count=1 | file -`

and then figure out what to do based on what is in the FILE_TYPE variable.

Have fun.

Steve

  #5  
Old November 8th 05, 05:32 PM
2hawks
external usenet poster
 
Posts: n/a
Default Tape Scanning in Linux

You are a gentleman and a scholar sir! Thanks for your assistance.
Btw, does anyone know if mt senses the actual block size when you do a
status (mt -f /dev/nst0 status) or is that based on driver defaults?

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
regarding Linux Kev AMD x86-64 Processors 16 October 18th 05 09:04 AM
linux fdisk changed CHS, now Windows says "invalid media type" student Storage (alternative) 23 August 3rd 05 03:54 PM
OEM vs Retail XP Pro jeh Homebuilt PC's 320 May 9th 05 09:33 AM
AIT tape media lifetime? Ralf Fassel Storage & Hardrives 2 October 8th 04 11:05 AM
VXA-2 tape really full ? Lynn McGuire Storage (alternative) 2 February 25th 04 10:01 AM


All times are GMT +1. The time now is 01:42 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 HardwareBanter.
The comments are property of their posters.