The TINDEX Tool
TINDEX verifies that data on a tape backup is readable and then produces a report on all the data
that has been verified. Use TINDEX to verify tapes before sending tapes to other sites. You may
want to include the TINDEX report as a courtesy. TINDEX is ideal if you are backing up critical
data or archiving seldom used accounts.
Operation
Conceptually, TINDEX is similar to programs like VALIDATE and VSTORE. Operationally,
however, TINDEX differs in its ease of use, powerful command set, and flexible operation.
TINDEX prints a directory of the files on various kinds of tapes: STORE (NM and CM style),
DBLOAD, Classic MEMDUMP, SPOOK, Classic DUS (Diagnostic Utilities Tape), HPPA INSTALL,
MPE XL MEMDUMP, HPUX Core tapes. TINDEX also has limited support for UNIX TAR tapes.
While TINDEX is running, you can press Ctrl+Y to display the name of the file currently being
processed. Additionally, a dot (.) is printed each time 50 files have been processed as that you
can more easily monitor how TINDEX is progressing.
|
|
NOTE Be careful if you use TINDEX with a tape that has no file marks on it as it may spin the tape off of the end of the reel.
|
Background on Filenames
This section discusses operational issues related to long creator names and to the Hierarchical
File Name Syntax (HFS).
Long Creator Names
Prior to MPE XL, whenever a disk file was created, MPE would record the user-id in the file label.
The account name of the creator was not recorded. As of MPE/iX (and earlier for a few files),
MPE records both the user-id and the account name.
This means that the first 8-bytes of the creator name is a user-id and the second 8-bytes is an
account name. Files with "long" creator names are flagged with a plus (+) instead of a period (.) in
front of the account name. If the account portion of the creator’s name does not match the
account the file is in, then the full creator name will be shown on the next line of output.
These files are typically either from an MPE/iX 4.0 (or later) system or are spoolfiles from an MPE
XL 2.2 (or later) system. :RESTORE on pre-MPE/iX 4.5 systems has trouble restoring non-
spoolfiles with long creator names and may require use of the options:
CREATE=CREATOR;CREATOR=<desiredname>
Hierarchical File System (HFS)
With the release of MPE/iX 4.5, MPE supports Hierarchical File System names (i.e., /usr.lib/
thisisalongname/too). STORE was modified to handle the names of such files in a special
manner, which is somewhat backwards-compatible with pre-Posix MPE XL :RESTORE.
When the first HFS file is seen by STORE, it generates a new file and puts it on the tape. This file
appears to be called "HFSMAP._HFSGRP._HFSACCT". This file contains lines that show a
mapping between the HFS name and a name like "F#######", where "#######" is a number that
increments for each HFS file stored.
Here is a sample line from HFSMAP:
F0000000._HFSGRP._HFSACCT<-/MINER/SOURCE/foo
The above line means that the HFS file /MINER/SOURCE/foo was placed on the STORE tape as
if its name is F0000000._HFSGRP._HFSACCT.
TINDEX shows the names of the HFS files as F#######._HFSGRP._HFSACCT, and then shows
the mapping from F####### to HFS names.
TINDEX Report
By default, TINDEX reports on a select set of information about each file. This information
includes: filename, accessed date, modified date, lockword (depending on your capabilities), and
creator. Fields can be selected by including the fieldname in the option list:
:tindex mgr dates
Or you can suppress information by preceding the fieldname with the letters NO:
:tindex mgr nodates
Printer Output & LPSLP
TINDEX will read the specified tape and look at each file on the tape. Detailed information about
each file is reported to a printer file whose formal name is LPSLP. By default, each output line
defaults to a width of 132 characters. To provide greater output control, LPSLP can be file
equated to other devices. Example file equations are listed below:
|
:file lpslp;dev=100
|
Send output to ldev 100
|
|
:file lpslp=$null
|
No output
|
|
:file lpslp;dev=lp,1
|
Deferred output
|
|
:file lpslp;dev=100
|
Change the file designator
|
Usage
TINDEX can be run from either the supplied UDC or via a fully-qualified statement.
The following UDC allows easy invocation of TINDEX:
tindex WHAT=" ",A=" ",B=" ",C=" ",D=" ",E=" "
RUN TINDEX.PUB.LPSTOOLS;INFO="!WHAT !A !B !C !D !E"
**************
Example usage:
tindex elvis long verify
Or, if you prefer to specify options via the PARM bits:
tindex WHAT=" ", PARM=0, MISC=" "
RUN TINDEX.PUB.LPSTOOLS;INFO="!WHAT !MISC";PARM=!PARM
**************
Example usage:
tindex elvis, 1
Note that the above two UDC examples show "elvis" as the tape name. Requesting a tape called
"T", "TAPE", or "MYTAPE" provides the operator with little extra information. By requesting a tape
called "ELVIS", the operator immediately knows which tape should be mounted.
:RUN TINDEX.PUB.LPSTOOLS;INFO="tapename option1 option2 ..."
The tapename is the name of the tape. If a tapename is not specified, then your user name is
used. If you wish to specify one or more options, you must provide a tapename. Multiple options
can be specified by separating each with a blank space.
Capabilities
Program capabilities required include IA, BA, DS, PM and PH. User SM or OP is required if you
want TINDEX to display file lockwords on the report.
Building TINDEX Reports
TINDEX’s report capabilities can be formatted in a variety of ways. Specifying format and report
contents is done through TINDEX options. A number of these options are specified through the
INFO parameter. A few of the options can be specified by setting various PARM bits.
Table 17.1 TINDEX Options
|
Option
|
Description
|
|
132
|
132 character portrait output
|
|
ACCESSED
|
Displays access date
|
|
ALPHASORT
|
Inserts a blank line after first letter of filename change
|
|
BLKSZ
|
Displays block size
|
|
BUILDPV
|
Creates private volume account structure
|
|
COMPARE
|
Compares modification date
|
|
CONTENTS
|
Dumps tape directory to disk file
|
|
CREATED
|
Displays creation date
|
|
CREATOR
|
Displays creator
|
|
DATES
|
Synonym for ACCESSED, CREATED, MODIFIED
|
|
DEFERLPSLP
|
Assigns output priority 1 to LPSLP
|
|
DEVICE
|
Displays device name for every file
|
|
EOF
|
Displays EOF
|
|
EXTENTS
|
Displays extents
|
|
EXPLAIN
|
Displays extra information about long creator names
|
|
FCODE
|
Displays filecode
|
|
FGA
|
Displays filename.group.account
|
|
FILENUM
|
Displays filenumber
|
|
FROMDISK
|
FROMDISK is an internal debugging option
|
|
FULLQUICK
|
Displays directory only, one filename per line
|
|
HEADER
|
Displays header at the top of each page
|
|
HELP
|
Displays on-line help
|
|
HFS
|
Displays HFS file information
|
|
LABELLED
|
Labeled tape
|
|
LAND132
|
132 character landscape output
|
|
LAND176
|
176 character landscape output
|
|
LASTEXTENT
|
Displays last extend information
|
|
LIMIT
|
Displays file limit
|
|
LOCKWORD
|
Displays lockwords
|
|
LONG
|
More detailed output
|
|
MATRIX
|
Displays file security matrix
|
|
MINIMUM
|
Minimum output
|
|
MODIFIED
|
Displays modification date
|
|
NEWDISK
|
Outputs to disk instead of printer
|
|
NOTHING
|
Only displays filename.group.account
|
|
ONLINE
|
Puts tape drive on-line
|
|
PAGESIZE
|
Changes output page size
|
|
PORT132
|
132 character portrait output
|
|
PV
|
Synonym for BUILDPV
|
|
QUICK
|
Directory listing only
|
|
REARM
|
Periodically rearms Ctrl-Y
|
|
RECSZT
|
Displays record size
|
|
RESTOREQUICK
|
Produces a RESTORE compatible listing
|
|
SECTORS
|
Displays number of sectors
|
|
SECURITY
|
Displays file security matrix
|
|
SHOWNEW
|
Compares tape files against disk, only display newer
|
|
SHOWOLD
|
Compares tape files against disk, only display older
|
|
SHOWSAME
|
Compares tape files against disk, only display same
|
|
SKIP
|
Use fcontrol - forward skip file
|
|
TAPECONT
|
Dumps tape directory to disk
|
|
TRYNM
|
Tells TINDEX to run STORE to read the tape
|
|
TRYXC
|
Tells TINDEX to try to process 7980XC compressed tapes
|
|
TYPE
|
Displays user label information
|
|
USERLABELS
|
Displays user label information
|
|
VERIFY
|
Verifies file label and file data
|
Options Definitions
Listed below is a detailed description for each TINDEX option. In cases where a command is
suppressed by adding "NO" as a prefix, "NO" is shown in brackets ([ ]).
In the list below, each option that controls an output column in a STORE tape report is flagged
<report>. Most of these options apply only to STORE tapes, not to any other kind of tape (i.e.:
TAR, SLT).
[NO] ACCESSED
<report>
ACCESSED tells TINDEX that you want to see the access date for every file (if available).
NOACCESSED tells TINDEX to suppress showing the access date. ACCESSED is true by
default.
[NO] ALPHASORT
ALPHASORT tells TINDEX to put a blank line between any two filenames whose first letter is
different. Normally, most STORE tapes are created by storing files alphabetically within groups,
and groups alphabetically within accounts. TINDEX defaults to printing a blank line after every
group or account change is noticed. If your STORE tape has files in alphabetic order by
filename only (rare, but it happens), then the default action can result in a large number of blank
lines. TINDEX tries to deduce when the files on a tape are in this "alphasort" order (i.e.: not in
group.account order). If TINDEX fails to deduce correctly, the ALPHASORT keyword tells
TINDEX to put blank lines only after the first letter of the file-part changes. NOALPHASORT
reverts to the default mechanism.
[NO] BLKSZ
<report>
BLKSZ tells TINDEX that you want to see the block size for every file. NOBLKSZ tells TINDEX to
suppress showing the block size. BLKSZ is the default.
|
|
NOTE BLKSZ may not be visible on "narrow" output.
|
[NO] BUILDPV
This command has the following syntax:
BUILDPV [ = pvname]
BUILDPV tells TINDEX to build a flat disk file (PV) which contains lines like:
newacct SPLASH , MGR
newacct SPLASH , MGR; onvs = PV
newgroup ASMNM.SPLASH
Hit <return> to continue, / to stop:
newgroup ASMNM.SPLASH; onvs = PV
altgroup ASMNM.SPLASH; onvs = PV
altgroup ASMNM.SPLASH; homevs = PV
The name of the private volume can be specified (=pvname), or it will default to PV. The output is
written to a file whose formal name is PV.
[NO] CHECKSUM
<report>
CHECKSUM tells TINDEX to compute a checksum of the data for every file. The checksum
information is displayed as the first column of output on the listing.
CHECKSUM tries to skip those fields in a file label that might change without the underlying file's
data changing (i.e.: access date, ldev).
CHECKSUM tries to skip those few bytes in record 0 of CM PROG files that get modified every
time the program is run (in record 0).
Due to a flaw in the implementation of "TRANSPORT" mode STORE on MPE XL, the checksums
generated may vary from STORE to STORE, even if the files have not been modified.
Default: NOCHECKSUM
[NO] COMPARE
This command has the following syntax:
COMPARE [ = <ACcessdate | CReatedate | MOdifydate> ]
COMPARE tells TINDEX to compare the modification date of every file on the tape against a file
of the same name on disk. If the "=" option is used, a different date from tape may be chosen
instead of modification date. However, the disk file's modification date is always used, no matter
which of the three possible dates from the tape copy of the file was selected.
The result is displayed as a special character in the first column after the account name. The
characters used are:
|
<
|
older than disk file
|
|
>
|
newer than disk file
|
|
=
|
same date as disk file
|
|
blank
|
disk file exists, could not compare
|
|
*
|
disk file exists, could not compare
|
|
?
|
error occurred fetching disk file info.
|
CONTents
This command has the following syntax:
CONTents < <eol> | tapecontname >
Synonym for TAPECONT (see below)
[NO] CREATED
<report>
CREATED tells TINDEX that you want to see the creation date for every file (if available).
NOCREATED tells TINDEX to suppress showing the creation date. CREATED is true by default.
[NO] CREATOR
<report>
CREATOR tells TINDEX to report the creator for each file (if available). NOCREATOR suppresses
this column. CREATOR is true by default.
[NO] DATES
<report>
DATES is a synonym for ACCESSED, CREATED, MODIFIED. NODATES is a synonym for
NOACCESSED, NOCREATED, NOMODIFIED
[NO] DEFERlpslp
DEFERLPSLP tells TINDEX to open LPSLP with output priority 1. This may be overridden with a
file equation. The default is NODEFERLPSLP.
[NO] DEVICE
<report>
DEVICE tells TINDEX that you want to see the device name for every file. NODEVICE tells
TINDEX to suppress showing the device name. DEVICE is the default.
|
|
NOTE Device names of "DISC" are automatically replaced by 8 blanks.
DEVICE may not be visible on "narrow" output.
|
[NO] EOF
<report>
EOF tells TINDEX that you want to see the end-of-file record number for every file. NOEOF tells
TINDEX to suppress showing the end-of-file. EOF is the default.
|
|
NOTE EOF may not be visible on "narrow" output.
|
[NO] EXTENTS
<report>
EXTENTS tells TINDEX that you want to see the # of extents for every file (if available).
NOEXTENTS tells TINDEX to suppress showing the # extents. EXTENTS is the default.
|
|
NOTE EOF may not be visible on "narrow" output.
|
[NO] EXPLAIN
<report>
Suppresses explanation of long creator names.
DEFAULT: EXPLAIN
[NO] FCODE
<report>
FCODE tells TINDEX that you want to see the file code for every file. NOFCODE tells TINDEX to
suppress showing the block size. FCODE is the default.
|
|
NOTE Lower case file codes are "synthetic", and are not recognized
by MPE. These include "qedit" (file code 111), as well as several
dozen common file codes recognized by SIGSYSPROG.
|
[NO] FGA
<report>
FGA tells TINDEX that you want to see the "file.group.account" name of every file. NOFGA tells
TINDEX to suppress showing the "file.group.account".
DEFAULT: FGA
|
|
NOTE It might not be very useful to suppress FGA!
|
[NO] FILENUM
<report>
FILENUM tells TINDEX to report the file number of each file it finds. NOFILENUM suppresses
this column. FILENUM is true by default.
[NO] FROMDISC
FROMDISC is an internal debugging option.
[NO] FULLQUICK
FULLQUICK tells TINDEX to produce a modified form of the QUICK option's output (see QUICK).
QUICK puts multiple file names on the same line, as long as they are in the same group and
account.
FULLQUICK puts one file name per line, in the form:
####: file .group .account
Where #### is a counter of the number of files reported so far.
See also: RESTOREQUICK.