Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ backup(0) — CLIX 3.1r7.6.22

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

backup(8)

restore(1)



  backup(0)                           CLIX                           backup(0)



  NAME

    backup, dumpdates - Incremental dump format

  SYNOPSIS

    #include <sys/types.h>

    #include <sys/inode.h>

    #include <protocols/dumprestore.h>

  DESCRIPTION

    Tapes used by backup and restore contain the following:

    ⊕  A header record

    ⊕  Two groups of bit map records

    ⊕  A group of records describing directories

    ⊕  A group of records describing files

    The format of the header record and the first record of each description
    as given in the include file <protocols/dumprestore.h> is as follows:

    #define TP_BSIZE  1024
    #define NTREC     10
    #define TP_NINDIR (TP_BSIZE/2)
    #define TS_TAPE   1
    #define TS_INODE  2
    #define TS_BITS   3
    #define TS_ADDR   4
    #define TS_END    5
    #define TS_CLRI   6
    #define OFS_MAGIC (int) 60011
    #define NFS_MAGIC (int) 60012
    #define CHECKSUM  (int) 84446

    struct u_spcl {
         char dummy[TP_BSIZE];
         struct  s_spcl {
              int     c_type;
              time_t  c_date;
              time_t  c_ddate;
              int     c_volume;
              daddr_t c_tapea;
              ino_t   c_inumber;
              int     c_magic;
              int     c_checksum;



  2/94 - Intergraph Corporation                                              1






  backup(0)                           CLIX                           backup(0)



    #ifdef FFS
              struct  ffsdinode c_dinode;
    #else
              struct  dinode    c_dinode;
    #endif
              int     c_count;
              char    c_addr[TP_NINDIR];
         } s_spcl;
    } u_spcl;

    #define spcl u_spcl.s_spcl

    #define DUMPOUTFMT "%-20s %c %s" /* for printf */
                                     /*    name, incno, ctime(date) */
    #define DUMPINFMT  "%20s %c %[\n]\n" /* inverse for scanf */

    NTREC is the number of 1024-byte records in a physical tape block.
    TP_BSIZE is the size of file blocks on the dump tapes.  NTREC is the
    number of TP_BSIZE blocks written in each tape record.  TP_NINDIR is the
    number of indirect pointers in a TS_ADDR record.  It must be a power of
    two.

    The TS_ entries are used in the c_type field to indicate the type of
    header this is.  The types and their meanings are as follows:

    TS_TAPE    Tape volume label.

    TS_INODE   A file or directory follows.  The c_dinode field is a copy of
               the disk inode and contains bits telling the type of file this
               is.

    TS_BITS    A bit map follows.  This bit map has a 1 bit for each inode
               that was backed up.

    TS_ADDR    A subrecord of a file description.  See c_addr below.

    TS_END     End-of-tape record.

    TS_CLRI    A bit map follows.  This bit map contains a zero bit for all
               inodes that were empty on the file system when backed up.

    MAGIC      All header records have this number in c_magic.  OFS_MAGIC is
               the old file system magic number.  NFS_MAGIC is the new file
               system magic number.

    CHECKSUM   Header records checksum to this value.

    The fields of the header structure are as follows:

    c_type       The type of the header.




  2                                              Intergraph Corporation - 2/94






  backup(0)                           CLIX                           backup(0)



    c_date       The date the backup was taken.

    c_ddate      The date the file system was backed up from.

    c_volume     The current volume number of the backup.

    c_tapea      The current number of this (1024-byte) record.

    c_inumber    The number of the inode being backed up if this has type
                 TS_INODE.

    c_magic      The value NFS_MAGIC above, truncated as needed.

    c_checksum   The value needed to make the record sum to CHECKSUM.

    ic_dinode    A copy of the inode as it appears on the file system.

    c_count      The count of characters in c_addr.

    c_addr       An array of characters describing the blocks of the backed up
                 file.  A character is zero if the block associated with that
                 character was not present on the file system.  Otherwise, the
                 character is nonzero.  If the block was not on the file
                 system, no block was backed up; the block will be restored as
                 a hole in the file.  If space in this record is not
                 sufficient to describe all blocks in a file, TS_ADDR records
                 will be scattered through the file, each picking up where the
                 last left off.

    Each volume except the last ends with a tape mark (read as an end-of-
    file).  The last volume ends with a TS_END record and then the tape mark.

    The structure idates describes an entry in the file /etc/dumpdates where
    backup history is kept.

    struct idates {
         char    id_name[16];
         char    id_incno;
         time_t  id_ddate;
    };

    The fields of the structure are as follows:

    id_name    The dumped file system is /dev/dsk/s?u?p?.?.

    id_incno   The level number of the dump tape; see backup.

    id_ddate   The date of the incremental backup.

  FILES




  2/94 - Intergraph Corporation                                              3






  backup(0)                           CLIX                           backup(0)



    /etc/dumpdates

  RELATED INFORMATION

    Commands: backup(8), restore(1)

















































  4                                              Intergraph Corporation - 2/94




Typewritten Software • bear@typewritten.org • Edmonds, WA 98026