home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-bin / info / tar.info-6 < prev    next >
Encoding:
GNU Info File  |  1996-10-12  |  49.3 KB  |  1,309 lines

  1. This is Info file tar.info, produced by Makeinfo-1.64 from the input
  2. file /ade-src/fsf/tar/doc/tar.texinfo.
  3.  
  4. START-INFO-DIR-ENTRY
  5. * tar: (tar).            Making tape (or disk) archives.
  6. END-INFO-DIR-ENTRY
  7.  
  8.    This file documents GNU `tar', a utility used to store, backup, and
  9. transport files.
  10.  
  11.    Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
  12.  
  13.    Permission is granted to make and distribute verbatim copies of this
  14. manual provided the copyright notice and this permission notice are
  15. preserved on all copies.
  16.  
  17.    Permission is granted to copy and distribute modified versions of
  18. this manual under the conditions for verbatim copying, provided that
  19. the entire resulting derived work is distributed under the terms of a
  20. permission notice identical to this one.
  21.  
  22.    Permission is granted to copy and distribute translations of this
  23. manual into another language, under the above conditions for modified
  24. versions, except that this permission notice may be stated in a
  25. translation approved by the Foundation.
  26.  
  27. 
  28. File: tar.info,  Node: mt,  Prev: Tape Positioning,  Up: Many
  29.  
  30. The `mt' Utility
  31. ----------------
  32.  
  33.      *(This message will disappear, once this node revised.)*
  34.  
  35. FIXME: is it true that this only works on non-block devices?  should
  36. FIXME: explain the difference, xref to block-size (fixed or variable).
  37.  
  38.    You can use the `mt' utility to advance or rewind a tape past a
  39. specified number of archive files on the tape.  This will allow you to
  40. move to the beginning of an archive before extracting or reading it, or
  41. to the end of all the archives before writing a new one.
  42. FIXME: why isn't there an "advance 'til you find two tape marks together"?
  43.  
  44.    The syntax of the `mt' command is:
  45.  
  46.      mt [-f TAPENAME] OPERATION [NUMBER]
  47.  
  48.    where TAPENAME is the name of the tape device, NUMBER is the number
  49. of times an operation is performed (with a default of one), and
  50. OPERATION is one of the following:
  51.  
  52. FIXME: is there any use for record operations?
  53.  
  54. `eof'
  55. `weof'
  56.      Writes NUMBER tape marks at the current position on the tape.
  57.  
  58. `fsf'
  59.      Moves tape position forward NUMBER files.
  60.  
  61. `bsf'
  62.      Moves tape position back NUMBER files.
  63.  
  64. `rewind'
  65.      Rewinds the tape. (Ignores NUMBER).
  66.  
  67. `offline'
  68. `rewoff1'
  69.      Rewinds the tape and takes the tape device off-line. (Ignores
  70.      NUMBER).
  71.  
  72. `status'
  73.      Prints status information about the tape unit.
  74. FIXME: is there a better way to frob the spacing on the list?
  75.  
  76.    If you don't specify a TAPENAME, `mt' uses the environment variable
  77. TAPE; if TAPE does not exist, `mt' uses the device `/dev/rmt12'.
  78.  
  79.    `mt' returns a 0 exit status when the operation(s) were successful,
  80. 1 if the command was unrecognized, and 2 if an operation failed.
  81.  
  82. FIXME: new node on how to find an archive?
  83.    If you use `--extract' (`-x') with the `--label=ARCHIVE-LABEL' (`-V
  84. ARCHIVE-LABEL') option specified, `tar' will read an archive label (the
  85. tape head has to be positioned on it) and print an error if the archive
  86. label doesn't match the ARCHIVE-NAME specified.  ARCHIVE-NAME can be
  87. any regular expression.  If the labels match, `tar' extracts the
  88. archive.
  89. FIXME: xref Archive Label
  90.    .
  91. FIXME: xref Matching Format Parameters
  92.    .
  93. FIXME: fix cross references
  94.  
  95.    `tar --list --label' will cause `tar' to print the label.
  96.  
  97. FIXME: program to list all the labels on a tape?
  98.  
  99. 
  100. File: tar.info,  Node: Using Multiple Tapes,  Next: Archive Label,  Prev: Many,  Up: Media
  101.  
  102. Using Multiple Tapes
  103. ====================
  104.  
  105.      *(This message will disappear, once this node revised.)*
  106.  
  107.    Often you might want to write a large archive, one larger than will
  108. fit on the actual tape you are using.  In such a case, you can run
  109. multiple `tar' commands, but this can be inconvenient, particularly if
  110. you are using options like `--exclude=PATTERN' or dumping entire
  111. filesystems.  Therefore, `tar' supports multiple tapes automatically.
  112.  
  113.    Use `--multi-volume' (`-M') on the command line, and then `tar' will,
  114. when it reaches the end of the tape, prompt for another tape, and
  115. continue the archive.  Each tape will have an independent archive, and
  116. can be read without needing the other.  (As an exception to this, the
  117. file that `tar' was archiving when it ran out of tape will usually be
  118. split between the two archives; in this case you need to extract from
  119. the first archive, using `--multi-volume' (`-M'), and then put in the
  120. second tape when prompted, so `tar' can restore both halves of the
  121. file.)
  122.  
  123.    When prompting for a new tape, `tar' accepts any of the following
  124. responses:
  125.  
  126. `?'
  127.      Request `tar' to explain possible responses
  128.  
  129. `q'
  130.      Request `tar' to exit immediately.
  131.  
  132. `n FILE NAME'
  133.      Request `tar' to write the next volume on the file FILE NAME.
  134.  
  135. `!'
  136.      Request `tar' to run a subshell.
  137.  
  138. `y'
  139.      Request `tar' to begin writing the next volume.
  140.  
  141.    (You should only type `y' after you have changed the tape; otherwise
  142. `tar' will write over the volume it just finished.)
  143.  
  144.    If you want more elaborate behavior than this, give `tar' the
  145. `--info-script=SCRIPT-NAME' (`-F SCRIPT-NAME') option.  The file
  146. SCRIPT-NAME is expected to be a program (or shell script) to be run
  147. instead of the normal prompting procedure.  When the program finishes,
  148. `tar' will immediately begin writing the next volume.  The behavior of
  149. the `n' response to the normal tape-change prompt is not available if
  150. you use `--info-script=SCRIPT-NAME' (`-F SCRIPT-NAME').
  151.  
  152.    The method `tar' uses to detect end of tape is not perfect, and
  153. fails on some operating systems or on some devices.  You can use the
  154. `--tape-length=1024-SIZE' (`-L 1024-SIZE') option if `tar' can't detect
  155. the end of the tape itself.  The SIZE argument should be the size of
  156. the tape.
  157.  
  158.    The volume number used by `tar' in its tape-change prompt can be
  159. changed; if you give the `--volno-file=FILE-OF-NUMBER' option, then
  160. FILE-OF-NUMBER should contain a decimal number.  That number will be
  161. used as the volume number of the first volume written.  When `tar' is
  162. finished, it will rewrite the file with the now-current volume number.
  163. (This does not change the volume number written on a tape label (
  164. FIXME: pxref Special Options for Archiving
  165.    ; it *only* affects the number used in the prompt.)
  166.  
  167.    If you want `tar' to cycle through a series of tape drives, then you
  168. can use the `n' response to the tape-change prompt.  This is error
  169. prone, however, and doesn't work at all with
  170. `--info-script=SCRIPT-NAME' (`-F SCRIPT-NAME').  Therefore, if you give
  171. `tar' multiple `--file=ARCHIVE-NAME' (`-f ARCHIVE-NAME') options, then
  172. the specified files will be used, in sequence, as the successive volumes
  173. of the archive.  Only when the first one in the sequence needs to be
  174. used again will `tar' prompt for a tape change (or run the info script).
  175.  
  176.    Multi-volume archives
  177.  
  178.    With `--multi-volume' (`-M'), `tar' will not abort when it cannot
  179. read or write any more data.  Instead, it will ask you to prepare a new
  180. volume.  If the archive is on a magnetic tape, you should change tapes
  181. now; if the archive is on a floppy disk, you should change disks, etc.
  182.  
  183.    Each volume of a multi-volume archive is an independent `tar'
  184. archive, complete in itself.  For example, you can list or extract any
  185. volume alone; just don't specify `--multi-volume' (`-M').  However, if
  186. one file in the archive is split across volumes, the only way to extract
  187. it successfully is with a multi-volume extract command `--extract
  188. --multi-volume' (`-xM') starting on or before the volume where the file
  189. begins.
  190.  
  191. * Menu:
  192.  
  193. * Multi-Volume Archives::
  194. * Tape Files::
  195.  
  196. 
  197. File: tar.info,  Node: Multi-Volume Archives,  Next: Tape Files,  Prev: Using Multiple Tapes,  Up: Using Multiple Tapes
  198.  
  199. Archives Longer than One Tape or Disk
  200. -------------------------------------
  201.  
  202.      *(This message will disappear, once this node revised.)*
  203.  
  204.    To create an archive that is larger than will fit on a single unit of
  205. the media, use the `--multi-volume' (`-M') option in conjunction with
  206. the `--create' (`-c') option (
  207. FIXME: pxref Creating Archives
  208.    ).  A "multi-volume" archive can be manipulated like any other
  209. archive (provided the `--multi-volume' (`-M') option is specified), but
  210. is stored on more than one tape or disk.
  211.  
  212.    When you specify `--multi-volume' (`-M'), `tar' does not report an
  213. error when it comes to the end of an archive volume (when reading), or
  214. the end of the media (when writing).  Instead, it prompts you to load a
  215. new storage volume.  If the archive is on a magnetic tape, you should
  216. change tapes when you see the prompt; if the archive is on a floppy
  217. disk, you should change disks; etc.
  218.  
  219.    You can read each individual volume of a multi-volume archive as if
  220. it were an archive by itself.  For example, to list the contents of one
  221. volume, use `--list' (`-t'), without `--multi-volume' (`-M') specified.
  222. To extract an archive member from one volume (assuming it is described
  223. that volume), use `--extract' (`-x'), again without `--multi-volume'
  224. (`-M').
  225.  
  226.    If an archive member is split across volumes (ie. its entry begins on
  227. one volume of the media and ends on another), you need to specify
  228. `--multi-volume' (`-M') to extract it successfully.  In this case, you
  229. should load the volume where the archive member starts, and use `tar
  230. --extract --multi-volume'--`tar' will prompt for later volumes as it
  231. needs them.
  232. FIXME: xref Extracting From Archives
  233.    for more information about extracting archives.
  234.  
  235.    `--info-script=SCRIPT-NAME' (`-F SCRIPT-NAME') is like
  236. `--multi-volume' (`-M'), except that `tar' does not prompt you directly
  237. to change media volumes when a volume is full--instead, `tar' runs
  238. commands you have stored in SCRIPT-NAME.  This option can be used to
  239. broadcast messages such as `Someone please come change my tape' when
  240. performing unattended backups.  When SCRIPT-NAME is done, `tar' will
  241. assume that the media has been changed.
  242.  
  243. FIXME: There should be a sample program here, including an exit before
  244. FIXME: end.
  245.  
  246. `--multi-volume'
  247. `-M'
  248.      Creates a multi-volume archive, when used in conjunction with
  249.      `--create' (`-c').  To perform any other operation on a
  250.      multi-volume archive, specify `--multi-volume' (`-M') in
  251.      conjunction with that operation.
  252.  
  253. `--info-script=PROGRAM-FILE'
  254. `-F PROGRAM-FILE'
  255.      Creates a multi-volume archive via a script.  Used in conjunction
  256.      with `--create' (`-c').
  257.  
  258. 
  259. File: tar.info,  Node: Tape Files,  Prev: Multi-Volume Archives,  Up: Using Multiple Tapes
  260.  
  261. Tape Files
  262. ----------
  263.  
  264.      *(This message will disappear, once this node revised.)*
  265.  
  266.    When `tar' writes an archive to tape, it creates a single tape file.
  267. If multiple archives are written to the same tape, one after the
  268. other, they each get written as separate tape files.  When extracting,
  269. it is necessary to position the tape at the right place before running
  270. `tar'.  To do this, use the `mt' command.  For more information on the
  271. `mt' command and on the organization of tapes into a sequence of tape
  272. files.
  273. FIXME: see ***.
  274.  
  275. 
  276. File: tar.info,  Node: Archive Label,  Prev: Using Multiple Tapes,  Up: Media
  277.  
  278. Including a Label in the Archive
  279. ================================
  280.  
  281.      *(This message will disappear, once this node revised.)*
  282.  
  283. FIXME: Should the arg to --label be a quoted string??  no - ringo
  284.    To avoid problems caused by misplaced paper labels on the archive
  285. media, you can include a "label" entry--an archive member which
  286. contains the name of the archive--in the archive itself.  Use the
  287. `--label=ARCHIVE-LABEL' (`-V ARCHIVE-LABEL') option in conjunction with
  288. the `--create' (`-c') operation to include a label entry in the archive
  289. as it is being created.
  290.  
  291.    If you create an archive using both `--label=ARCHIVE-LABEL' (`-V
  292. ARCHIVE-LABEL') and `--multi-volume' (`-M'), each volume of the archive
  293. will have an archive label of the form `ARCHIVE-LABEL Volume N', where
  294. N is 1 for the first volume, 2 for the next, and so on.
  295.  
  296. FIXME: xref Multi-Volume Archives
  297.    , for information on creating multiple volume archives.
  298.  
  299.    If you extract an archive using `--label=ARCHIVE-LABEL' (`-V
  300. ARCHIVE-LABEL'), `tar' will print an error if the archive label doesn't
  301. match the ARCHIVE-LABEL specified, and will then not extract the
  302. archive.  You can include a regular expression in ARCHIVE-LABEL, in
  303. this case only.
  304. FIXME: why is a reg. exp. useful here?  (to limit extraction to a
  305. FIXME: specific group?  ie for multi-volume???
  306.  
  307.    To find out an archive's label entry (or to find out if an archive
  308. has a label at all), use `tar --list --verbose'.  `tar' will print the
  309. label first, and then print archive member information, as in the
  310. example below:
  311.  
  312.      % tar --verbose --list --file=iamanarchive
  313.      V--------- 0/0        0 Mar  7 12:01 1992 iamalabel--Volume Header--
  314.      -rw-rw-rw- ringo/user 40 May 21 13:30 1990 iamafilename
  315.  
  316. `--label=ARCHIVE-LABEL'
  317. `-V ARCHIVE-LABEL'
  318.      Includes an "archive-label" at the beginning of the archive when
  319.      the archive is being created, when used in conjunction with the
  320.      `--create' (`-c') option.  Checks to make sure the archive label
  321.      matches the one specified (when used in conjunction with the
  322.      `--extract' (`-x') option.
  323. FIXME: was --volume
  324.  
  325. 
  326. File: tar.info,  Node: Backups and Restoration,  Next: Date input formats,  Prev: Media,  Up: Top
  327.  
  328. Performing Backups and Restoring Files
  329. **************************************
  330.  
  331.      *(This message will disappear, once this node revised.)*
  332.  
  333.      .* dumps
  334.      . + what are dumps
  335.      
  336.      . + different levels of dumps
  337.      .  - full dump = dump everything
  338.      .  - level 1, level 2 dumps etc, -
  339.          A level n dump dumps everything changed since the last level
  340.          n-1 dump (?)
  341.      
  342.      . + how to use scripts for dumps  (ie, the concept)
  343.      .  - scripts to run after editing backup specs (details)
  344.      
  345.      . + Backup Specs, what is it.
  346.      .  - how to customize
  347.      .  - actual text of script  [/sp/dump/backup-specs]
  348.      
  349.      . + Problems
  350.      .  - rsh doesn't work
  351.      .  - rtape isn't installed
  352.      .  - (others?)
  353.      
  354.      . + the --incremental option of tar
  355.      
  356.      . + tapes
  357.      .  - write protection
  358.      .  - types of media
  359.      .   : different sizes and types, useful for different things
  360.      .  - files and tape marks
  361.           one tape mark between files, two at end.
  362.      .  - positioning the tape
  363.           MT writes two at end of write, backspaces over one when writing again.
  364.  
  365.    To "back up" a file system means to create archives that contain all
  366. the files in that file system.  Those archives can then be used to
  367. restore any or all of those files (for instance if a disk crashes or a
  368. file is accidently deleted).  File system "backups" are also called
  369. "dumps".
  370.  
  371. * Menu:
  372.  
  373. * Full Dumps::
  374. * Inc Dumps::
  375. * incremental and listed-incremental::
  376. * Backup Levels::
  377. * Backup Parameters::
  378. * Scripted Backups::
  379. * Scripted Restoration::
  380.  
  381. 
  382. File: tar.info,  Node: Full Dumps,  Next: Inc Dumps,  Prev: Backups and Restoration,  Up: Backups and Restoration
  383.  
  384. Using `tar' to Perform Full Dumps
  385. =================================
  386.  
  387.      *(This message will disappear, once this node revised.)*
  388.  
  389.    Full dumps should only be made when no other people or programs are
  390. modifying files in the filesystem.  If files are modified while `tar'
  391. is making the backup, they may not be stored properly in the archive,
  392. in which case you won't be able to restore them if you have to.  (Files
  393. not being modified are written with no trouble, and do not corrupt the
  394. entire archive.)
  395.  
  396.    You will want to use the `--label=ARCHIVE-LABEL' (`-V
  397. ARCHIVE-LABEL') option to give the archive a volume label, so you can
  398. tell what this archive is even if the label falls off the tape, or
  399. anything like that.
  400.  
  401.    Unless the filesystem you are dumping is guaranteed to fit on one
  402. volume, you will need to use the `--multi-volume' (`-M') option.  Make
  403. sure you have enough tapes on hand to complete the backup.
  404.  
  405.    If you want to dump each filesystem separately you will need to use
  406. the `--one-file-system' (`-l') option to prevent `tar' from crossing
  407. filesystem boundaries when storing (sub)directories.
  408.  
  409.    The `--incremental' (`-G') option is not needed, since this is a
  410. complete copy of everything in the filesystem, and a full restore from
  411. this backup would only be done onto a completely empty disk.
  412.  
  413.    Unless you are in a hurry, and trust the `tar' program (and your
  414. tapes), it is a good idea to use the `--verify' (`-W') option, to make
  415. sure your files really made it onto the dump properly.  This will also
  416. detect cases where the file was modified while (or just after) it was
  417. being archived.  Not all media (notably cartridge tapes) are capable of
  418. being verified, unfortunately.
  419.  
  420.    `--listed-incremental=SNAPSHOT-FILE' (`-g SNAPSHOT-FILE') take a
  421. file name argument always.  If the file doesn't exist, run a level zero
  422. dump, creating the file.  If the file exists, uses that file to see
  423. what has changed.
  424.  
  425.    `--incremental' (`-G')
  426. FIXME: look it up
  427.  
  428.    `--incremental' (`-G') handle old GNU-format incremental backup.
  429.  
  430.    This option should only be used when creating an incremental backup
  431. of a filesystem.  When the `--incremental' (`-G') option is used, `tar'
  432. writes, at the beginning of the archive, an entry for each of the
  433. directories that will be operated on.  The entry for a directory
  434. includes a list of all the files in the directory at the time the dump
  435. was done, and a flag for each file indicating whether the file is going
  436. to be put in the archive.  This information is used when doing a
  437. complete incremental restore.
  438.  
  439.    Note that this option causes `tar' to create a non-standard archive
  440. that may not be readable by non-GNU versions of the `tar' program.
  441.  
  442.    The `--incremental' (`-G') option means the archive is an incremental
  443. backup.  Its meaning depends on the command that it modifies.
  444.  
  445.    If the `--incremental' (`-G') option is used with `--list' (`-t'),
  446. `tar' will list, for each directory in the archive, the list of files in
  447. that directory at the time the archive was created.  This information
  448. is put out in a format that is not easy for humans to read, but which
  449. is unambiguous for a program: each file name is preceded by either a
  450. `Y' if the file is present in the archive, an `N' if the file is not
  451. included in the archive, or a `D' if the file is a directory (and is
  452. included in the archive).  Each file name is terminated by a null
  453. character.  The last file is followed by an additional null and a
  454. newline to indicate the end of the data.
  455.  
  456.    If the `--incremental' (`-G') option is used with `--extract'
  457. (`-x'), then when the entry for a directory is found, all files that
  458. currently exist in that directory but are not listed in the archive *are
  459. deleted from the directory*.
  460.  
  461.    This behavior is convenient when you are restoring a damaged file
  462. system from a succession of incremental backups: it restores the entire
  463. state of the file system to that which obtained when the backup was
  464. made.  If you don't use `--incremental' (`-G'), the file system will
  465. probably fill up with files that shouldn't exist any more.
  466.  
  467.    `--listed-incremental=SNAPSHOT-FILE' (`-g SNAPSHOT-FILE') handle new
  468. GNU-format incremental backup.
  469.  
  470.    `--listed-incremental=SNAPSHOT-FILE' (`-g SNAPSHOT-FILE') acts like
  471. `--incremental' (`-G'), but when used in conjunction with `--create'
  472. (`-c') will also cause `tar' to use the file FILE, which contains
  473. information about the state of the filesystem at the time of the last
  474. backup, to decide which files to include in the archive being created.
  475. That file will then be updated by `tar'.  If the file FILE does not
  476. exist when this option is specified, `tar' will create it, and include
  477. all appropriate files in the archive.
  478.  
  479.    The file, which is archive independent, contains the date it was last
  480. modified and a list of devices, inode numbers and directory names.
  481. `tar' will archive files with newer mod dates or inode change times,
  482. and directories with an unchanged inode number and device but a changed
  483. directory name.  The file is updated after the files to be archived are
  484. determined, but before the new archive is actually created.
  485.  
  486. 
  487. File: tar.info,  Node: Inc Dumps,  Next: incremental and listed-incremental,  Prev: Full Dumps,  Up: Backups and Restoration
  488.  
  489. Using `tar' to Perform Incremental Dumps
  490. ========================================
  491.  
  492.      *(This message will disappear, once this node revised.)*
  493.  
  494.    Performing incremental dumps is similar to performing full dumps,
  495. although a few more options will usually be needed.
  496.  
  497.    You will need to use the `-N DATE' option to tell `tar' to only
  498. store files that have been modified since DATE.  DATE should be the
  499. date and time of the last full/incremental dump.
  500.  
  501.    A standard scheme is to do a *monthly* (full) dump once a month, a
  502. *weekly* dump once a week of everything since the last monthly and a
  503. *daily* every day of everything since the last (weekly or monthly) dump.
  504.  
  505.    Here is a copy of the script used to dump the filesystems of the
  506. machines here at the Free Software Foundation.  This script is run via
  507. `cron' late at night when people are least likely to be using the
  508. machines.  This script dumps several filesystems from several machines
  509. at once (via NFS).  The operator is responsible for ensuring that all
  510. the machines will be up at the time the dump happens.  If a machine is
  511. not running, its files will not be dumped, and the next day's
  512. incremental dump will *not* store files that would have gone onto that
  513. dump.
  514.  
  515.      #!/bin/csh
  516.      # Dump thingie
  517.      set now = `date`
  518.      set then = `cat date.nfs.dump`
  519.      /u/hack/bin/tar -c -G -v\
  520.       -f /dev/rtu20\
  521.       -b 126\
  522.       -N "$then"\
  523.       -V "Dump from $then to $now"\
  524.       /alpha-bits/gp\
  525.       /gnu/hack\
  526.       /hobbes/u\
  527.       /spiff/u\
  528.       /sugar-bombs/u
  529.      echo $now > date.nfs.dump
  530.      mt -f /dev/rtu20 rew
  531.  
  532.    Output from this script is stored in a file, for the operator to
  533. read later.
  534.  
  535.    This script uses the file `date.nfs.dump' to store the date/time of
  536. the last dump.
  537.  
  538.    Since this is a streaming tape drive, no attempt to verify the
  539. archive is done.  This is also why the high blocking factor (126) is
  540. used.  The tape drive must also be rewound by the `mt' command after
  541. the dump is made.
  542.  
  543. 
  544. File: tar.info,  Node: incremental and listed-incremental,  Next: Backup Levels,  Prev: Inc Dumps,  Up: Backups and Restoration
  545.  
  546. The Incremental Options
  547. =======================
  548.  
  549.      *(This message will disappear, once this node revised.)*
  550.  
  551.    `--incremental' (`-G') is used in conjunction with `--create' (`-c'),
  552. `--extract' (`-x') or `--list' (`-t') when backing up and restoring file
  553. systems.  An archive cannot be extracted or listed with the
  554. `--incremental' (`-G') option specified unless it was created with the
  555. option specified.  This option should only be used by a script, not by
  556. the user, and is usually disregarded in favor of
  557. `--listed-incremental=SNAPSHOT-FILE' (`-g SNAPSHOT-FILE'), which is
  558. described below.
  559.  
  560.    `--incremental' (`-G') in conjunction with `--create' (`-c') causes
  561. `tar' to write, at the beginning of the archive, an entry for each of
  562. the directories that will be archived.  The entry for a directory
  563. includes a list of all the files in the directory at the time the
  564. archive was created and a flag for each file indicating whether or not
  565. the file is going to be put in the archive.
  566.  
  567.    Note that this option causes `tar' to create a non-standard archive
  568. that may not be readable by non-GNU versions of the `tar' program.
  569.  
  570.    `--incremental' (`-G') in conjunction with `--extract' (`-x') causes
  571. `tar' to read the lists of directory contents previously stored in the
  572. archive, *delete* files in the file system that did not exist in their
  573. directories when the archive was created, and then extract the files in
  574. the archive.
  575.  
  576.    This behavior is convenient when restoring a damaged file system from
  577. a succession of incremental backups: it restores the entire state of
  578. the file system to that which obtained when the backup was made.  If
  579. `--incremental' (`-G') isn't specified, the file system will probably
  580. fill up with files that shouldn't exist any more.
  581.  
  582.    `--incremental' (`-G') in conjunction with `--list' (`-t'), causes
  583. `tar' to print, for each directory in the archive, the list of files in
  584. that directory at the time the archive was created.  This information
  585. is put out in a format that is not easy for humans to read, but which
  586. is unambiguous for a program: each file name is preceded by either a
  587. `Y' if the file is present in the archive, an `N' if the file is not
  588. included in the archive, or a `D' if the file is a directory (and is
  589. included in the archive).  Each file name is terminated by a null
  590. character.  The last file is followed by an additional null and a
  591. newline to indicate the end of the data.
  592.  
  593.    `--listed-incremental=SNAPSHOT-FILE' (`-g SNAPSHOT-FILE') acts like
  594. `--incremental' (`-G'), but when used in conjunction with `--create'
  595. (`-c') will also cause `tar' to use the file SNAPSHOT-FILE, which
  596. contains information about the state of the file system at the time of
  597. the last backup, to decide which files to include in the archive being
  598. created.  That file will then be updated by `tar'.  If the file FILE
  599. does not exist when this option is specified, `tar' will create it, and
  600. include all appropriate files in the archive.
  601.  
  602.    The file FILE, which is archive independent, contains the date it
  603. was last modified and a list of devices, inode numbers and directory
  604. names.  `tar' will archive files with newer mod dates or inode change
  605. times, and directories with an unchanged inode number and device but a
  606. changed directory name.  The file is updated after the files to be
  607. archived are determined, but before the new archive is actually created.
  608.  
  609. FIXME: this section needs to be written
  610.  
  611. 
  612. File: tar.info,  Node: Backup Levels,  Next: Backup Parameters,  Prev: incremental and listed-incremental,  Up: Backups and Restoration
  613.  
  614. Levels of Backups
  615. =================
  616.  
  617.      *(This message will disappear, once this node revised.)*
  618.  
  619.    An archive containing all the files in the file system is called a
  620. "full backup" or "full dump".  You could insure your data by creating a
  621. full dump every day.  This strategy, however, would waste a substantial
  622. amount of archive media and user time, as unchanged files are daily
  623. re-archived.
  624.  
  625.    It is more efficient to do a full dump only occasionally.  To back up
  626. files between full dumps, you can a incremental dump.  A "level one"
  627. dump archives all the files that have changed since the last full dump.
  628.  
  629.    A typical dump strategy would be to perform a full dump once a week,
  630. and a level one dump once a day.  This means some versions of files
  631. will in fact be archived more than once, but this dump strategy makes
  632. it possible to restore a file system to within one day of accuracy by
  633. only extracting two archives--the last weekly (full) dump and the last
  634. daily (level one) dump.  The only information lost would be in files
  635. changed or created since the last daily backup.  (Doing dumps more than
  636. once a day is usually not worth the trouble).
  637.  
  638.    GNU `tar' comes with scripts you can use to do full and level-one
  639. dumps.  Using scripts (shell programs) to perform backups and
  640. restoration is a convenient and reliable alternative to typing out file
  641. name lists and `tar' commands by hand.
  642.  
  643.    Before you use these scripts, you need to edit the file
  644. `backup-specs', which specifies parameters used by the backup scripts
  645. and by the restore script.
  646. FIXME: xref Script Syntax
  647.    .  Once the backup parameters are set, you can perform backups or
  648. restoration by running the appropriate script.
  649.  
  650.    The name of the restore script is `restore'. The names of the level
  651. one and full backup scripts are, respectively, `level-1' and `level-0'.
  652. The `level-0' script also exists under the name `weekly', and the
  653. `level-1' under the name `daily'--these additional names can be changed
  654. according to your backup schedule.
  655. FIXME: xref Scripted Restoration
  656.    , for more information on running the restoration script.
  657. FIXME: xref Scripted Backups
  658.    , for more information on running the backup scripts.
  659.  
  660.    *Please Note:* The backup scripts and the restoration scripts are
  661. designed to be used together.  While it is possible to restore files by
  662. hand from an archive which was created using a backup script, and to
  663. create an archive by hand which could then be extracted using the
  664. restore script, it is easier to use the scripts.
  665. FIXME: xref incremental
  666. and listed-incremental
  667.    , before making such an attempt.
  668.  
  669. FIXME: shorten node names
  670.  
  671. 
  672. File: tar.info,  Node: Backup Parameters,  Next: Scripted Backups,  Prev: Backup Levels,  Up: Backups and Restoration
  673.  
  674. Setting Parameters for Backups and Restoration
  675. ==============================================
  676.  
  677.      *(This message will disappear, once this node revised.)*
  678.  
  679.    The file `backup-specs' specifies backup parameters for the backup
  680. and restoration scripts provided with `tar'.  You must edit
  681. `backup-specs' to fit your system configuration and schedule before
  682. using these scripts.
  683.  
  684. FIXME: This about backup scripts needs to be written: BS is a shell
  685. FIXME: script ....  thus ... `backup-specs' is in shell script
  686. FIXME: syntax.  xref Script Syntax, for an explanation of this syntax.
  687. FIXME:
  688. FIXME: whats a parameter ....  looked at by the backup scripts ... which
  689. FIXME: will be expecting to find ... now syntax ... value is linked to
  690. FIXME: lame ...  `backup-specs' specifies the following parameters:
  691.  
  692. `ADMINISTRATOR'
  693.      The user name of the backup administrator.
  694.  
  695. `BACKUP_HOUR'
  696.      The hour at which the backups are done.  This can be a number from
  697.      0 to 23, or the string `now'.
  698.  
  699. `TAPE_FILE'
  700.      The device `tar' writes the archive to.  This device should be
  701.      attached to the host on which the dump scripts are run.
  702.      FIXME: examples for all  ...
  703.  
  704. `TAPE_STATUS'
  705.      The command to use to obtain the status of the archive device,
  706.      including error count.  On some tape drives there may not be such a
  707.      command; in that case, simply use `TAPE_STATUS=false'.
  708.  
  709. `BLOCKING'
  710.      The blocking factor `tar' will use when writing the dump archive.
  711.  
  712.      FIXME: xref Blocking Factor
  713.      .
  714.  
  715. `BACKUP_DIRS'
  716.      A list of file systems to be dumped.  You can include any directory
  717.      name in the list--subdirectories on that file system will be
  718.      included, regardless of how they may look to other networked
  719.      machines.  Subdirectories on other file systems will be ignored.
  720.  
  721.      The host name specifies which host to run `tar' on, and should
  722.      normally be the host that actually contains the file system.
  723.      However, the host machine must have GNU `tar' installed, and must
  724.      be able to access the directory containing the backup scripts and
  725.      their support files using the same file name that is used on the
  726.      machine where the scripts are run (ie. what `pwd' will print when
  727.      in that directory on that machine).  If the host that contains the
  728.      file system does not have this capability, you can specify another
  729.      host as long as it can access the file system through NFS.
  730.  
  731. `BACKUP_FILES'
  732.      A list of individual files to be dumped.  These should be
  733.      accessible from the machine on which the backup script is run.
  734.      FIXME: same file name, be specific.  through nfs ...
  735.  
  736. * Menu:
  737.  
  738. * backup-specs example::
  739. * Script Syntax::
  740.  
  741. 
  742. File: tar.info,  Node: backup-specs example,  Next: Script Syntax,  Prev: Backup Parameters,  Up: Backup Parameters
  743.  
  744. An Example Text of `Backup-specs'
  745. ---------------------------------
  746.  
  747.      *(This message will disappear, once this node revised.)*
  748.  
  749.    The following is the text of `backup-specs' as it appears at FSF:
  750.  
  751.      # site-specific parameters for file system backup.
  752.      
  753.      ADMINISTRATOR=friedman
  754.      BACKUP_HOUR=1
  755.      TAPE_FILE=/dev/nrsmt0
  756.      TAPE_STATUS="mts -t $TAPE_FILE"
  757.      BLOCKING=124
  758.      BACKUP_DIRS="
  759.          albert:/fs/fsf
  760.          apple-gunkies:/gd
  761.          albert:/fs/gd2
  762.          albert:/fs/gp
  763.          geech:/usr/jla
  764.          churchy:/usr/roland
  765.          albert:/
  766.          albert:/usr
  767.          apple-gunkies:/
  768.          apple-gunkies:/usr
  769.          gnu:/hack
  770.          gnu:/u
  771.          apple-gunkies:/com/mailer/gnu
  772.          apple-gunkies:/com/archive/gnu"
  773.      
  774.      BACKUP_FILES="/com/mailer/aliases /com/mailer/league*[a-z]"
  775.  
  776. 
  777. File: tar.info,  Node: Script Syntax,  Prev: backup-specs example,  Up: Backup Parameters
  778.  
  779. Syntax for `Backup-specs'
  780. -------------------------
  781.  
  782.      *(This message will disappear, once this node revised.)*
  783.  
  784.    `backup-specs' is in shell script syntax.  The following conventions
  785. should be considered when editing the script:
  786. FIXME: "conventions?"
  787.  
  788.    A quoted string is considered to be contiguous, even if it is on more
  789. than one line.  Therefore, you cannot include commented-out lines
  790. within a multi-line quoted string.  BACKUP_FILES and BACKUP_DIRS are
  791. the two most likely parameters to be multi-line.
  792.  
  793.    A quoted string typically cannot contain wildcards.  In
  794. `backup-specs', however, the parameters BACKUP_DIRS and BACKUP_FILES
  795. can contain wildcards.
  796.  
  797. 
  798. File: tar.info,  Node: Scripted Backups,  Next: Scripted Restoration,  Prev: Backup Parameters,  Up: Backups and Restoration
  799.  
  800. Using the Backup Scripts
  801. ========================
  802.  
  803.      *(This message will disappear, once this node revised.)*
  804.  
  805.    The syntax for running a backup script is:
  806.  
  807.      `script-name' [TIME-TO-BE-RUN]
  808.  
  809.    where TIME-TO-BE-RUN can be a specific system time, or can be `now'.
  810. If you do not specify a time, the script runs at the time specified in
  811. `backup-specs' (
  812. FIXME: pxref Script Syntax
  813.    ).
  814.  
  815.    You should start a script with a tape or disk mounted.  Once you
  816. start a script, it prompts you for new tapes or disks as it needs them.
  817. Media volumes don't have to correspond to archive files--a multi-volume
  818. archive can be started in the middle of a tape that already contains
  819. the end of another multi-volume archive.  The `restore' script prompts
  820. for media by its archive volume, so to avoid an error message you
  821. should keep track of which tape (or disk) contains which volume of the
  822. archive.
  823. FIXME: xref Scripted Restoration
  824.    .
  825.  
  826. FIXME: have file names changed?
  827.    The backup scripts write two files on the file system.  The first is
  828. a record file in `/etc/tar-backup/', which is used by the scripts to
  829. store and retrieve information about which files were dumped.  This
  830. file is not meant to be read by humans, and should not be deleted by
  831. them.
  832. FIXME: xref incremental and listed-incremental
  833.    , for a more detailed explanation of this file.
  834.  
  835.    The second file is a log file containing the names of the file
  836. systems and files dumped, what time the backup was made, and any error
  837. messages that were generated, as well as how much space was left in the
  838. media volume after the last volume of the archive was written.  You
  839. should check this log file after every backup.  The file name is
  840. `log-MMM-DDD-YYYY-level-1' or `log-MMM-DDD-YYYY-full'.
  841.  
  842.    The script also prints the name of each system being dumped to the
  843. standard output.
  844. FIXME: the section on restore scripts is commented out.
  845. FIXME: a section on non-scripted testore mya be a good idea
  846.  
  847. 
  848. File: tar.info,  Node: Scripted Restoration,  Prev: Scripted Backups,  Up: Backups and Restoration
  849.  
  850. Using the Restore Script
  851. ========================
  852.  
  853. FIXME: subject to change as things develop
  854.  
  855.      *(This message will disappear, once this node revised.)*
  856.  
  857.    (This node was @ignore'd--merely listing it for now.)
  858.  
  859.    To restore files that were archived using a scripted backup, use the
  860. `restore' script.  The syntax for the script is:
  861.  
  862.    where ***** are the file systems to restore from, and ***** is a
  863. regular expression which specifies which files to restore.  If you
  864. specify -all, the script restores all the files in the file system.
  865.  
  866.    You should start the restore script with the media containing the
  867. first volume of the archive mounted.  The script will prompt for other
  868. volumes as they are needed.  If the archive is on tape, you don't need
  869. to rewind the tape to to its beginning--if the tape head is positioned
  870. past the beginning of the archive, the script will rewind the tape as
  871. needed.
  872. FIXME: xref Media
  873.    , for a discussion of tape positioning.
  874.  
  875.    If you specify `--all' as the FILES argument, the `restore' script
  876. extracts all the files in the archived file system into the active file
  877. system.
  878.  
  879.      *Warning:*The script will delete files from the active file system
  880.      if they were not in the file system when the archive was made.
  881.  
  882. FIXME: xref incremental and listed-incremental
  883.    , for an explanation of how the script makes that determination.
  884. FIXME: this may be an option, not a given
  885.  
  886. 
  887. File: tar.info,  Node: Date input formats,  Next: Archive Format,  Prev: Backups and Restoration,  Up: Top
  888.  
  889. Date input formats
  890. ******************
  891.  
  892.    This section describes the textual date representations that GNU
  893. programs accept.  These are the strings you, as a user, can supply as
  894. arguments to the various programs.  The C interface (via the `getdate'
  895. function) is not described here.
  896.  
  897.    Although the date syntax here can represent any possible time since
  898. zero A.D., computer integers are not big enough for such a
  899. (comparatively) long time.  The earliest date semantically allowed on
  900. Unix systems is midnight, 1 January 1970 UCT.
  901.  
  902. * Menu:
  903.  
  904. * General date syntax::
  905. * Calendar date item::
  906. * Time of day item::
  907. * Timezone item::
  908. * Day of week item::
  909. * Relative item in date strings::
  910. * Pure numbers in date strings::
  911. * Authors of getdate::
  912.  
  913. 
  914. File: tar.info,  Node: General date syntax,  Next: Calendar date item,  Prev: Date input formats,  Up: Date input formats
  915.  
  916. General date syntax
  917. ===================
  918.  
  919.    A "date" is a string, possibly empty, containing many items
  920. separated by whitespace.  The whitespace may be omitted when no
  921. ambiguity arises.  The empty string means the beginning of today (i.e.,
  922. midnight).  Order of the items is immaterial.  A date string may contain
  923. many flavors of items:
  924.  
  925.    * calendar date items
  926.  
  927.    * time of the day items
  928.  
  929.    * time zone items
  930.  
  931.    * day of the week items
  932.  
  933.    * relative items
  934.  
  935.    * pure numbers.
  936.  
  937. We describe each of these item types in turn, below.
  938.  
  939.    A few numbers may be written out in words in most contexts.  This is
  940. most useful for specifying day of the week items or relative items (see
  941. below).  Here is the list: `first' for 1, `next' for 2, `third' for 3,
  942. `fourth' for 4, `fifth' for 5, `sixth' for 6, `seventh' for 7, `eighth'
  943. for 8, `ninth' for 9, `tenth' for 10, `eleventh' for 11 and `twelfth'
  944. for 12.  Also, `last' means exactly -1.
  945.  
  946.    When a month is written this way, it is still considered to be
  947. written numerically, instead of being "spelled in full"; this changes
  948. the allowed strings.
  949.  
  950.    Alphabetic case is completely ignored in dates.  Comments may be
  951. introduced between round parentheses, as long as included parentheses
  952. are properly nested.  Hyphens not followed by a digit are currently
  953. ignored.  Leading zeros on numbers are ignored.
  954.  
  955. 
  956. File: tar.info,  Node: Calendar date item,  Next: Time of day item,  Prev: General date syntax,  Up: Date input formats
  957.  
  958. Calendar date item
  959. ==================
  960.  
  961.    A "calendar date item" specifies a day of the year.  It is specified
  962. differently, depending on whether the month is specified numerically or
  963. literally.  All these strings specify the same calendar date:
  964.  
  965.      1970-9-17            # ISO 8601.
  966.      70-9-17              # This century assumed by default.
  967.      70-09-17             # Leading zeros are ignored.
  968.      9/17/72              # Common U.S. writing.
  969.      24 September 1972
  970.      24 Sept 72           # September has a special abbreviation.
  971.      24 Sep 72            # Three-letter abbreviations always allowed.
  972.      Sep 24, 1972
  973.      24-sep-72
  974.      24sep72
  975.  
  976.    The year can also be omitted.  In this case, the last specified year
  977. is used, or the current year if none.  For example:
  978.  
  979.      9/17
  980.      sep 17
  981.  
  982.    Here are the rules.
  983.  
  984.    For numeric months, the ISO 8601 format `YEAR-MONTH-DAY' is allowed,
  985. where YEAR is any positive number, MONTH is a number between 1 and 12,
  986. and DAY is a number between 1 and 31.  If YEAR is less than 100, then
  987. 1900 is added to it to force a date in this century.  The construct
  988. `MONTH/DAY/YEAR', popular in the United States, is accepted.  Also
  989. `MONTH/DAY', omitting the year.
  990.  
  991.    Literal months may be spelled out in full: `January', `February',
  992. `March', `April', `May', `June', `July', `August', `September',
  993. `October', `November' or `December'.  Literal months may be abbreviated
  994. to their first three letters, possibly followed by an abbreviating dot.
  995. It is also permitted to write `Sept' instead of `September'.
  996.  
  997.    When months are written literally, the calendar date may be given as
  998. any of the following:
  999.  
  1000.      DAY MONTH YEAR
  1001.      DAY MONTH
  1002.      MONTH DAY YEAR
  1003.      DAY-MONTH-YEAR
  1004.  
  1005.    Or, omitting the year:
  1006.  
  1007.      MONTH DAY
  1008.  
  1009. 
  1010. File: tar.info,  Node: Time of day item,  Next: Timezone item,  Prev: Calendar date item,  Up: Date input formats
  1011.  
  1012. Time of day item
  1013. ================
  1014.  
  1015.    A "time of day item" in date strings specifies the time on a given
  1016. day.  Here are some examples, all of which represent the same time:
  1017.  
  1018.      20:02:0
  1019.      20:02
  1020.      8:02pm
  1021.      20:02-0500      # In EST (Eastern U.S. Standard Time).
  1022.  
  1023.    More generally, the time of the day may be given as
  1024. `HOUR:MINUTE:SECOND', where HOUR is a number between 0 and 23, MINUTE
  1025. is a number between 0 and 59, and SECOND is a number between 0 and 59.
  1026. Alternatively, `:SECOND' can be omitted, in which case it is taken to
  1027. be zero.
  1028.  
  1029.    If the time is followed by `am' or `pm' (or `a.m.' or `p.m.'), HOUR
  1030. is restricted to run from 1 to 12, and `:MINUTE' may be omitted (taken
  1031. to be zero).  `am' indicates the first half of the day, `pm' indicates
  1032. the second half of the day.  In this notation, 12 is the predecessor of
  1033. 1: midnight is `12am' while noon is `12pm'.
  1034.  
  1035.    The time may alternatively be followed by a timezone correction,
  1036. expressed as `SHHMM', where S is `+' or `-', HH is a number of zone
  1037. hours and MM is a number of zone minutes.  When a timezone correction
  1038. is given this way, it forces interpretation of the time in UTC,
  1039. overriding any previous specification for the timezone or the local
  1040. timezone.  The MINUTE part of the time of the day may not be elided
  1041. when a timezone correction is used.  This is the only way to specify a
  1042. timezone correction by fractional parts of an hour.
  1043.  
  1044.    Either `am'/`pm' or a timezone correction may be specified, but not
  1045. both.
  1046.  
  1047. 
  1048. File: tar.info,  Node: Timezone item,  Next: Day of week item,  Prev: Time of day item,  Up: Date input formats
  1049.  
  1050. Timezone item
  1051. =============
  1052.  
  1053.    A "timezone item" specifies an international timezone, indicated by
  1054. a small set of letters.  Any included period is ignored.  Military
  1055. timezone designations use a single letter.  Currently, only integral
  1056. zone hours may be represented in a timezone item.  See the previous
  1057. section for a finer control over the timezone correction.
  1058.  
  1059.    Here are many non-daylight-savings-time timezones, indexed by the
  1060. zone hour value.
  1061.  
  1062. +000
  1063.      `GMT' for Greenwich Mean, `UT' or `UTC' for Universal
  1064.      (Coordinated), `WET' for Western European and `Z' for militaries.
  1065.  
  1066. +100
  1067.      `WAT' for West Africa and `A' for militaries.
  1068.  
  1069. +200
  1070.      `AT' for Azores and `B' for militaries.
  1071.  
  1072. +300
  1073.      `C' for militaries.
  1074.  
  1075. +400
  1076.      `AST' for Atlantic Standard and `D' for militaries.
  1077.  
  1078. +500
  1079.      `E' for militaries and `EST' for Eastern Standard.
  1080.  
  1081. +600
  1082.      `CST' for Central Standard and `F' for militaries.
  1083.  
  1084. +700
  1085.      `G' for militaries and `MST' for Mountain Standard.
  1086.  
  1087. +800
  1088.      `H' for militaries and `PST' for Pacific Standard.
  1089.  
  1090. +900
  1091.      `I' for militaries and `YST' for Yukon Standard.
  1092.  
  1093. +1000
  1094.      `AHST' for Alaska-Hawaii Standard, `CAT' for Central Alaska, `HST'
  1095.      for Hawaii Standard and `K' for militaries.
  1096.  
  1097. +1100
  1098.      `L' for militaries and `NT' for Nome.
  1099.  
  1100. +1200
  1101.      `IDLW' for International Date Line West and `M' for militaries.
  1102.  
  1103. -100
  1104.      `CET' for Central European, `FWT' for French Winter, `MET' for
  1105.      Middle European, `MEWT' for Middle European Winter, `N' for
  1106.      militaries and `SWT' for Swedish Winter.
  1107.  
  1108. -200
  1109.      `EET' for Eastern European, USSR Zone 1 and `O' for militaries.
  1110.  
  1111. -300
  1112.      `BT' for Baghdad, USSR Zone 2 and `P' for militaries.
  1113.  
  1114. -400
  1115.      `Q' for militaries and `ZP4' for USSR Zone 3.
  1116.  
  1117. -500
  1118.      `R' for militaries and `ZP5' for USSR Zone 4.
  1119.  
  1120. -600
  1121.      `S' for militaries and `ZP6' for USSR Zone 5.
  1122.  
  1123. -700
  1124.      `T' for militaries and `WAST' for West Australian Standard.
  1125.  
  1126. -800
  1127.      `CCT' for China Coast, USSR Zone 7 and `U' for militaries.
  1128.  
  1129. -900
  1130.      `JST' for Japan Standard, USSR Zone 8 and `V' for militaries.
  1131.  
  1132. -1000
  1133.      `EAST' for East Australian Standard, `GST' for Guam Standard, USSR
  1134.      Zone 9 and `W' for militaries.
  1135.  
  1136. -1100
  1137.      `X' for militaries.
  1138.  
  1139. -1200
  1140.      `IDLE' for International Date Line East, `NZST' for New Zealand
  1141.      Standard, `NZT' for New Zealand and `Y' for militaries.
  1142.  
  1143.    Here are many DST timezones, indexed by the zone hour value.  Also,
  1144. by following a non-DST timezone by the string `DST' in a separate word
  1145. (that is, separated by some whitespace), the corresponding DST timezone
  1146. may be specified.
  1147.  
  1148. 0
  1149.      `BST' for British Summer.
  1150.  
  1151. +400
  1152.      `ADT' for Atlantic Daylight.
  1153.  
  1154. +500
  1155.      `EDT' for Eastern Daylight.
  1156.  
  1157. +600
  1158.      `CDT' for Central Daylight.
  1159.  
  1160. +700
  1161.      `MDT' for Mountain Daylight.
  1162.  
  1163. +800
  1164.      `PDT' for Pacific Daylight.
  1165.  
  1166. +900
  1167.      `YDT' for Yukon Daylight.
  1168.  
  1169. +1000
  1170.      `HDT' for Hawaii Daylight.
  1171.  
  1172. -100
  1173.      `MEST' for Middle European Summer, `MESZ' for Middle European
  1174.      Summer, `SST' for Swedish Summer and `FST' for French Summer.
  1175.  
  1176. -700
  1177.      `WADT' for West Australian Daylight.
  1178.  
  1179. -1000
  1180.      `EADT' for Eastern Australian Daylight.
  1181.  
  1182. -1200
  1183.      `NZDT' for New Zealand Daylight.
  1184.  
  1185. 
  1186. File: tar.info,  Node: Day of week item,  Next: Relative item in date strings,  Prev: Timezone item,  Up: Date input formats
  1187.  
  1188. Day of week item
  1189. ================
  1190.  
  1191.    The explicit mention of a day of the week will forward the date
  1192. (only if necessary) to reach that day of the week in the future.
  1193.  
  1194.    Days of the week may be spelled out in full: `Sunday', `Monday',
  1195. `Tuesday', `Wednesday', `Thursday', `Friday' or `Saturday'.  Days may
  1196. be abbreviated to their first three letters, optionally followed by a
  1197. period.  The special abbreviations `Tues' for `Tuesday', `Wednes' for
  1198. `Wednesday' and `Thur' or `Thurs' for `Thursday' are also allowed.
  1199.  
  1200.    A number may precede a day of the week item to move forward
  1201. supplementary weeks.  It is best used in expression like `third
  1202. monday'.  In this context, `last DAY' or `next DAY' is also acceptable;
  1203. they move one week before or after the day that DAY by itself would
  1204. represent.
  1205.  
  1206.    A comma following a day of the week item is ignored.
  1207.  
  1208. 
  1209. File: tar.info,  Node: Relative item in date strings,  Next: Pure numbers in date strings,  Prev: Day of week item,  Up: Date input formats
  1210.  
  1211. Relative item in date strings
  1212. =============================
  1213.  
  1214.    "Relative items" adjust a date (or the current date if none) forward
  1215. or backward.  The effect of relative items accumulate.  Here are some
  1216. examples:
  1217.  
  1218.      1 year
  1219.      1 year ago
  1220.      3 years
  1221.      2 days
  1222.  
  1223.    The unit of time displacement may be selected by the string `year'
  1224. or `month' for moving by whole years or months.  These are fuzzy units,
  1225. as years and months are not all of equal duration.  More precise units
  1226. are `fortnight' which is worth 14 days, `week' worth 7 days, `day'
  1227. worth 24 hours, `hour' worth 60 minutes, `minute' or `min' worth 60
  1228. seconds, and `second' or `sec' worth one second.  An `s' suffix on
  1229. these units is accepted and ignored.
  1230.  
  1231.    The unit of time may be preceded by a multiplier, given as an
  1232. optionally signed number.  Unsigned numbers are taken as positively
  1233. signed.  No number at all implies 1 for a multiplier.  Following a
  1234. relative item by the string `ago' is equivalent to preceding the unit
  1235. by a multiplicator with value -1.
  1236.  
  1237.    The string `tomorrow' is worth one day in the future (equivalent to
  1238. `day'), the string `yesterday' is worth one day in the past (equivalent
  1239. to `day ago').
  1240.  
  1241.    The strings `now' or `today' are relative items corresponding to
  1242. zero-valued time displacement, these strings come from the fact a
  1243. zero-valued time displacement represents the current time when not
  1244. otherwise change by previous items.  They may be used to stress other
  1245. items, like in `12:00 today'.  The string `this' also has the meaning
  1246. of a zero-valued time displacement, but is preferred in date strings
  1247. like `this thursday'.
  1248.  
  1249.    When a relative item makes the resulting date to cross the boundary
  1250. between DST and non-DST (or vice-versa), the hour is adjusted according
  1251. to the local time.
  1252.  
  1253. 
  1254. File: tar.info,  Node: Pure numbers in date strings,  Next: Authors of getdate,  Prev: Relative item in date strings,  Up: Date input formats
  1255.  
  1256. Pure numbers in date strings
  1257. ============================
  1258.  
  1259.    The precise intepretation of a pure decimal number is dependent of
  1260. the context in the date string.
  1261.  
  1262.    If the decimal number is of the form YYYYMMDD and no other calendar
  1263. date item (
  1264. FIXME: pxref Calendar date item
  1265.    ) appears before it in the date string, then YYYY is read as the
  1266. year, MM as the month number and DD as the day of the month, for the
  1267. specified calendar date.
  1268.  
  1269.    If the decimal number is of the form HHMM and no other time of day
  1270. item appears before it in the date string, then HH is read as the hour
  1271. of the day and MM as the minute of the hour, for the specified time of
  1272. the day.  MM can also be omitted.
  1273.  
  1274.    If both a calendar date and a time of day appear to the left of a
  1275. number in the date string, but no relative item, then the number
  1276. overrides the year.
  1277.  
  1278. 
  1279. File: tar.info,  Node: Authors of getdate,  Prev: Pure numbers in date strings,  Up: Date input formats
  1280.  
  1281. Authors of `getdate'
  1282. ====================
  1283.  
  1284.    `getdate' was originally implemented by Steven M. Bellovin
  1285. (`smb@research.att.com') while at the University of North Carolina at
  1286. Chapel Hill.  The code was later tweaked by a couple of people on
  1287. Usenet, then completely overhauled by Rich $alz (`rsalz@bbn.com') and
  1288. Jim Berets (`jberets@bbn.com') in August, 1990.  Various revisions for
  1289. the GNU system were made by David MacKenzie, Jim Meyering, and others.
  1290.  
  1291.    This chapter was originally produced by Franc,ois Pinard
  1292. (`pinard@iro.umontreal.ca') from the `getdate.y' source code, and then
  1293. edited by K. Berry (`kb@cs.umb.edu').
  1294.  
  1295. 
  1296. File: tar.info,  Node: Archive Format,  Next: Index,  Prev: Date input formats,  Up: Top
  1297.  
  1298. Format of `tar' archives
  1299. ************************
  1300.  
  1301.      *(This message will disappear, once this node revised.)*
  1302.  
  1303. * Menu:
  1304.  
  1305. * Standard::
  1306. * Extensions::
  1307. * cpio::
  1308.  
  1309.