HPlogo FCOPY Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 3 FCOPY Applications and Examples

Copying Tapes

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

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:

  1. 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
    

  2. 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:

  1. Use the MPE FILE command to describe the tape file to be written. For example,

       >:FILE T;DEV=TAPE;REC=-80,20,F,ASCII
    

  2. 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
  3. 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:

  1. 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
    

  2. Use a second FILE command to describe the tape file. For example,

       >:FILE T;DEV=TAPE;REC=-80,1,F,ASCII
    

  3. 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
    
    
    
  4. 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
    

Feedback to webmaster