TARCHIVE - File/Tape Archiver Program - Ver 1.

2B by Andreas Schiffler - University of Saskatchewan ============================================================================ Introduction -----------Tarchive is a DOS command-line tape archiver program for the Exabyte 8500 or 8505 tape drives operating in the 4.9 GByte mode. This program is meant to replace the TAR program and enhance it by using some of the specific features of the EXB-8500 family of tape drives. This means that this program will not work with the older Exabyte 8200 drives since they do not support the SCSI-commands used by Tarchive. DAT drives should however work, if they support block-seek commands (this is not tested). Tarchive is not TAR compatible, but uses its own format for increased speed and security of the archiving process. Also provided are sources for a tape-erase program and a simple file archiver. Features -------* fast save and backup operation through use of buffering mode and large blocksize * directory information of each saveset is kept with saveset for quicker access of individual files * fast file retrieval by use of direct data-block search * increased data security by use of a magic code in header and a checksum * advanced error checking implemented for Exabyte drives * extensive error logging possible * filename-list mode for simple interfacing with other programs * tape erase/conditioning program is included Disadvantages ------------* the format is not TAR compatible * does not store path information * number of files per saveset limited (approx. 15 thousand) Command line usage -----------------| means or, <...> means substitute value, [...] means optional TARCHIVE a|x|l <LUN:saveset> <wildcard>|@<filelist> [<options>] Function: ......... a - create a new archive an add files to it x - extract files from an existing archive l - list directory of an existing archive Tape identification ...................

LUN - local unit number of the tape drive (1-7), depends on the system configuration and will be displayed by the SCSI-BIOS at boot time save-set - the number of the save set to work with (1,2,3,...). The saveset number must point to a saveset that exists (for options X and L) or to a saveset number which is one larger that the last existing saveset (for option a). If the a option is used on an existing saveset, that one and all subsequent savesets will be overwritten and all information will be lost. Scope ..... wildcard - valid DOS wildcard to identify files in the current directory @filelist - filename of a textfile containing the filenames to be archived. The sysntx is simple: one filename per line. The filenames should not include path information. Options ....... LOG=<filename> - sets the error log to 'filename'. The default error report is printed on the screen. If the logfile exists, the text is appended to the existing file. WORDY=FALSE - default is TRUE, so this option turns off most of the informational messages that are usually displayed TIMEDISP=FALSE - default is TRUE, so this option turns off the time in the error messages TIMEOUT=<minutes> - sets the timeout period in minutes, if the tape does not respond to the program. In case of a timeout, the program will abort. A reasonable time is several minutes to give the drive time to recover from tracking problems or tape winding. TAPE=<identifier> - sets the tape size. This is used to approximate the space left on the tape. Valid identifiers are for EXABYTE drives and include: P5-15, P5-30, P5-60, P5-90, P6-15, P6-30, P6-60, P6-90, P6-120 RESET=TRUE - will force an ASPI reset whenever Tarchive initializes the tape drive. The reset will slow the startup process by about one minute, but for unattended operation this option is highly reccomended to avoid lockups. Compilation and Sources ----------------------All programs require Borland/Turbo Pascal 6.0 and up to compile. archiv.pas basic file archiver: reads multiple files from disk and stores them with a directory in a single file tarchiv.pas Exabyte/DAT tape archiver: uses ASPI calls to store multiple files in single save sets on tape, includes complete tape control terase.pas Tape eraser: erases tapes, multiple erases possible for tape conditioning xxx.pas units used by the above programs

Data Format ----------Each save set consists of a directory, the files and a filemark at the end. Saveset=Directory,File,File,...,File,Filemark The directory is just another file containing reference information. It has to be the first file in the set. Its structure is as follows: Directory=Filename,Filesize,Filetime,Position Filename=STRING[12] Filesize=Longint Filetime=Longint Position=Longint Files are the packages that get written: File=Header,Data,Checksum Header=MagicCode,Filename,Filesize,Filetime Data=File (byte stream containing the data) Checksum=Longint (sum of all data bytes) MagicCode=T#6archi#7 (7 bytes) Tarchive uses fixed length blocks of 32 Kbytes size. The Author ---------Andreas Schiffler 1230 11th St. E Saskatoon, Sask S7H 0G3 Canada Phone (306) 374-2431 FAX (306) 652-7849 e-mail: andreas@karlsberg.usask.ca e-mail: andreas@milo.usask.ca e-mail: schiffler@skisas.usask.ca ------------Copyright (C) 1994, 1995 by Andreas Schiffler. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.