SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG
DONATE




YUM REPOSITORY

 
 

MAN page from SuSE 10.X bacula-mtx-2.2.4-2.su101.x86_64.rpm

SCSITAPE

Section: User Commands (1)
Updated: SCSITAPE1.0
Index 

NAME

scsitape - control SCSI tape devices  

SYNOPSIS

scsitape [-f <scsi-generic-device>] commands 

DESCRIPTION

The scsitapecommand controls SCSI tape drives in a platform-independentmanner. As long as 'mtx' works on the platform, so does 'scsitape'. Note that 'scsitape' and your OS's native tape driver may stomp on eachother. In particular, if you use 'setblk' and your OS's native tapedriver has a different notion of the block size, you may get evil results.It is recommended to use 'scsitape' only for software where you've writtenyour own low-level READ and WRITE routines that use the SCSI command setto directly talk to tape drives (i.e., you do not use the OS's native tapedriver at all).  

OPTIONS

The first argument, given following-f, is the SCSI generic device corresponding to your tape drive.Consult your operating system's documentation for more information (forexample, under Linux these are generally /dev/sg0 through /dev/sg15, under FreeBSD these are /dev/pass0 through /dev/passX. Under Solaristhis is usually the same as your tape drive (Solaris has a SCSI passthroughioctl). You can set the STAPE or TAPE environment variable ratherthan use -f. 

COMMANDS

setblk <n>
Set the tape drive's SCSI block size to <n> bytes. (NOTE: if you areusing your OS's native tape driver, THIS IS EVIL!).

fsf <n>
Go forward by <n> tapemarks.
bsf <n>
Go to immediately previous the <n>th previous tapemark. (WARNING: Thisprobably doesn't do what you expect -- e.g. if you are immediatelyafter a tapemark and type 'bfs 1', it moves to immediately *before*that tape mark, for a sum total of zero effective movement!).
eod
Go to end of data.
rewind
Rewind the tape drive.
eject
Eject the tape currently in the drive.
erase
Does a *short* erase (warning: does NOT work on all drives!).
mark <n>

 write <n> filemarks ( 'mark 0' flushes the drive's buffers ). 
seek <n>
Seek to a logical position <n> that was reported by a previous 'tapeinfo'command.
write <blocksize>
write blocks from stdin to the tape. Chunk the data into <blocksize>-sizedchunks. *DOES NOT WRITE OUT A TAPEMARK!* (you will need to use a subsequentmark 1command to write out a tape mark).
read [<blocksize>] [ <#blocks/#bytes> ]
read blocks from the tape, write them to stdout. If we are in variableblock mode, <blocksize> should be zero (note: The maximum block sizewe currently support in variable block mode is 128K, MAX_READ_SIZE willneed to be turned into a settable variable to allow bigger reads). If<blocksize> is ommitted, we assume that we're in variable block mode, andthat we are going to read from tape until we hit a tapemark or end ofpartition or end of tape.

 

AUTHORS

This program was written by Eric Lee Green <ericAATTbadtux.org>. Major portions of the 'mtxl.c' library used herein were written byLeonard Zubkoff.

The SCSI read and write routines are based upon those that RichardFish wrote for Enhanced Software Technology's BRU 16.1 product,substantially modified to work in our particular environment (inparticular, all the variable block stuff is new since BRU only doesfixed block reads and writes, and the BRU code uses bitmasks ratherthan bitfields for the various flags and such in return values, aswell as the BRU code having a different SCSI API and having variablenames considerably shorter than the rather sesquipedalian 'mtx'identifiers). As required by 'mtxl.c', these routines are licensedunder the GNU General Public License.

 

HINTS

Under Linux, cat /proc/scsi/scsiwill tell you what SCSI devices you have.You can then refer to them as /dev/sga,/dev/sgb, etc. by the order theyare reported.Under FreeBSD, camcontrol devlistwill tell you what SCSI devices youhave, along with which passdevice controls them.Under Solaris 7 and 8,/usr/sbin/devfsadm -Cwill clean up your /devices directory. Thenfind /devices -name 'st@*' -print will return a list of all tape drives. /dev on Solaris is apparently onlyof historical interest.

 

BUGS AND LIMITATIONS

forscsitape read 0 <n>where you are doing variable-block-size reads and wish for <n> bytes,it instead reads one and exactly one block from tape and prints that(no matter what its size). Use 'dd' on the output of scsitape if youwant finer control. scsitape read 0attempts reads of MAX_READ_SIZE, which is currently 128K. If blocks on tapeare larger than 128K, only the first 128K will be read -- the remainderwill be silently dumped in the toilet.This program does not interact well (or at all :-) with your OS'snative tape driver. You will likely see weird things happen if youattempt to intermingle scsitape commands with native tape driveroperations. Note that BRU 16.1 for Solaris (and possibly others, butSolaris I know about) will have a 'scsi' keyword to bypass the native tape driver and write via direct uscsi commands, so if you useBRU 16.1 to write your actual tape archives. (Assuming that BRU 16.1has been released at the time that you read this).

 

AVAILABILITY

This version of scsitapeis currently being maintained by Robert Nelson <robertnelsonAATTusers.sourceforge.net> as part of the 'mtx' suite of programs. The 'mtx' home page is http://mtx.sourceforge.net and the actual code is currently available there and via SVN from http://sourceforge.net/projects/mtx.

 

SEE ALSO

loaderinfo(1),tapeinfo(1),mtx(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
COMMANDS
AUTHORS
HINTS
BUGS AND LIMITATIONS
AVAILABILITY
SEE ALSO

This document was created byman2html,using the manual pages.