|
» |
|
|
|
The general methods for copying tapes described in this chapter
apply to unlabeled magnetic tapes, serial
disks, and cartridge tapes. If you need to copy files from or to
labeled tapes, refer to the instructions for
using labeled tapes later in this chapter. | | | | | NOTE:
Labeled tapes must be used if the file being written will extend beyond one
reel.
| | | | |
Specifying Tape Files | |
Use the SKIPEOF function to position an unlabeled tape,
cartridge tape, or serial disk at the beginning of the
fromfile or tofile you want to copy. The SKIPEOF
function "skips" over a specified number of end-of-file
(EOF) marks to position the tape at the beginning of a
particular file. You can specify the number of EOF marks to be skipped as
either absolute file numbers (for example, the fifth
file on the tape) or relative file numbers (for example, the
fifth file from the tape's current position). A plus
(+) or minus (-) sign distinguishes a relative file number
from an absolute file number. A plus sign tells
FCOPY to skip forward, and a minus sign tells FCOPY to skip
backward. A comma before the plus or minus sign (for example, SKIPEOF=,+1)
indicates that the file is a tofile; no comma (for example, SKIPEOF=+1)
indicates a fromfile. The example below tells FCOPY to copy the file three files before
TAPEA's current position and place it in the fifth file
on TAPEB.
>FROM=*TAPEA;TO*TAPEB;SKIPEOF=-3,5
|
| | | | | NOTE:
When FCOPY copies files from or to magnetic tapes, it leaves the
tape positioned before the EOF mark for the file it just
copied. Thus, if you want to copy a series of files from or to
the same magnetic tape, be sure to include SKIPEOF=+1 in the
commands for copying each file after the first. SKIPEOF=+1
instructs FCOPY to position the tape at the beginning of the next
file.
| | | | |
Ignoring Tape Errors | |
Use the IGNERR function when you want certain file system
errors to be ignored during the process of copying files from
magnetic tape. This allows the recovery of as much data as
possible from faulty media. The following errors can be ignored:
21 Data Parity
26 Transmission
27 I/O Timeout
38 Type Parity
|
Using IGNERR, you can instruct FCOPY to terminate the copy
operation after it encounters a given number
of errors. The example below instructs FCOPY to ignore errors,
but to terminate if it encounters more than five errors.
>FROM=*TAPE;TO=DISC3;IGNERR=5
|
Comparing Files | |
To compare the contents of two files without changing either
file, use the COMPARE function. You can
compare the contents of a disk file and a tape file or the
contents of two files stored on tape. As
with the IGNERR function, COMPARE lets you specify a
number of errors after which it terminates. The
default is 1. The example below compares the disk file TEXTA
with the first file on TAPE1:
>:FILE TAPE1;DEV=TAPE;REC=-80,16,F,ASCII
>FROM=TEXTA;TO=*TAPE1;COMPARE
COMPARE ERROR FOUND AT RECORD 52, BYTE 19
*304* COMPARE OPTION: RAN OUT OF COMPARE ERRORS AT FROMFILE RECORD 53
53 RECORDS PROCESSED * * * 0 ERRORS
|
Verifying Copied Files | |
Use the VERIFY function to compare the contents of two files
immediately after copying them. As with
IGNERR and COMPARE, VERIFY lets you control the
number of errors that FCOPY reports. If you do not
specify a maximum number of errors, FCOPY terminates after it
encounters the first error. The example
below copies the third file on TAPE2 to the next file on
TAPE6 and then compares the two files.
>:FILE TAPE2;DEV=TAPE
>:FILE TAPE6;DEV=TAPE
>FROM=*TAPE2;TO=*TAPE6;SKIPEOF=3,+1;VERIFY
EOF FOUND IN FROMFILE AFTER 19 RECORDS
20 RECORDS PROCESSED * * * 0 ERRORS
|
Changing the Tape Blocking Factor | |
Use the DEBLOCK function to change the record blocking
factor as you copy a file. DEBLOCK is most useful when
copying tapes from other computer systems to the HP 3000. The HP
3000 blocks records to tape with an even number of bytes per record. Other systems may block records to tape with an odd number of bytes per record. When you copy a foreign file to the HP 3000, you must
provide a tape format compatible with MPE. For more
information on copying foreign tapes, refer to "Copying Foreign
Tapes" later in this chapter. To deblock a file with odd-byte records, perform the following steps: Use the MPE FILE command to treat each block of the
fromfile as a single record and set the blocking
factor to 1. The record length should be the old record
length times the old blocking factor. For example, a block of ten 79-byte records would be represented as a 790-byte record with a blocking factor of 1:
>:FILE TAPEFILE;REC=-790,1,U,ASCII
|
In the FCOPY command, set DEBLOCK equal to the original
record length. For example,
>FROM=*TAPEFILE;TO=DISCFILE;DEBLOCK=-79
EOF FOUND IN FROMFILE AFTER RECORD 789
790 RECORDS PROCESSED * * * 0 ERRORS
|
Combining Disk Files on Tape | |
To combine several disk files into a single tape file, follow the
steps described below: Use the MPE FILE command to describe the tape file to be written. For example,
>:FILE T;DEV=TAPE;REC=-80,20,F,ASCII
|
Copy the first disk file to tape using an asterisk before the
tofile name to backreference the FILE command. For example,
>FROM=DATA1;TO=*T
EOF FOUND IN FROMFILE AFTER RECORD 610
611 RECORDS PROCESSED * * * 0 ERRORS
|
Copy the subsequent disk files to tape without repositioning
the tape drive. Use an asterisk as the tofile name. For example,
>FROM=DATA2;TO=*
EOF FOUND IN FROMFILE AFTER RECORD 711
712 RECORDS PROCESSED * * * 0 ERRORS
>FROM=DATA3;TO=*
EOF FOUND IN FROMFILE AFTER RECORD 472
473 RECORDS PROCESSED * * * 0 ERRORS
|
Combining Tape Files on Disk | |
To combine several tape files, or subsets of tape files, in a
single disk file, perform the following steps: Use the MPE FILE command to give the disk file append
access (ACC=APPEND). The disk file must be
large enough to hold the contents of all of the tape files, and
you must specify its record structure. For example,
>:FILE AMALGAM;ACC=APPEND;REC=-80,16,F,ASCII;DISC=5000
|
Use a second FILE command to describe the tape file. For
example,
>:FILE T;DEV=TAPE;REC=-80,1,F,ASCII
|
Copy the first tape file to the disk file. Precede the file
names with asterisks to reference the two file commands. If you intend to copy
only
a subset of the tape file, use the SUBSET function. For example,
the command below copies all records with the character "C"
in column 1.
>FROM=*T;TO=*AMALGAM;SUBSET="C",1
9 RECORDS PROCESSED * * * 0 ERRORS
|
In subsequent FCOPY commands, use an asterisk to reference the
same tofile. Use SKIPEOF to specify
the position of the fromfile on tape. For example,
>FROM=*T;TO=*;SKIPEOF=1
16 RECORDS PROCESSED * * * 0 ERRORS
>FROM=*;TO=*;SKIPEOF=3
EOF FOUND IN FROMFILE AFTER RECORD 302
303 RECORDS PROCESSED * * * 0 ERRORS
|
|