home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 400-499 / ff473.lzh / CNewsSrc / cnews_src.lzh / man / expire.man < prev    next >
Text File  |  1990-05-28  |  10KB  |  247 lines

  1.  
  2.  
  3.  
  4.      EXPIRE(8)             C News (5 June 1989)              EXPIRE(8)
  5.  
  6.  
  7.  
  8.      NAME
  9.           expire, doexpire - expire old news
  10.           mkhistory - rebuild news history file
  11.           upact - update news active file
  12.           superkludge - implement stupid Supersedes header in news
  13.  
  14.      SYNOPSIS
  15.           /usr/lib/newsbin/expire/expire [ -a archdir ] [ -p ] [ -s ]
  16.               [ -F c ] [ -c ] [ -n nnnnn ] [ -t ] [ -l ] [ -v ]
  17.           [ -d ] [ controlfile ]
  18.           /usr/lib/newsbin/expire/doexpire expireoptions
  19.           /usr/lib/newsbin/expire/mkhistory
  20.           /usr/lib/newsbin/expire/upact
  21.           /usr/lib/newsbin/expire/superkludge [ -v ] newsgroup ...
  22.  
  23.      DESCRIPTION
  24.           Expire expires old news, removing it from the current-news
  25.           directories and (if asked to) archiving it elsewhere.  It
  26.           updates news's history file to match.  Expire should
  27.           normally be run nightly, typically by using doexpire (see
  28.           below).
  29.  
  30.           Expire's operations are controlled by a control file (which
  31.           can be named or supplied on standard input), which is not
  32.           optional-there is no default behavior.  Each line of the
  33.           control file should have four white-space-separated fields,
  34.           as follows.
  35.  
  36.           The first field is one or more newsgroups, separated by
  37.           commas (no spaces!); partial specifications are acceptable
  38.           (e.g. `comp' specifies all groups with that prefix).
  39.  
  40.           The second field is one letter, `m', `u', or `x', specifying
  41.           that the line applies only to moderated groups, only to
  42.           unmoderated groups, or to both, respectively.
  43.  
  44.           The third field specifies the expiry period in days.  The
  45.           most general form is three numbers separated by dashes.  The
  46.           units are days; decimal fractions are permitted.  The first
  47.           number gives the retention period: how long must pass after
  48.           an article's arrival before it is a candidate for expiry.
  49.           The third number gives the purge date: how long must pass
  50.           after arrival before the article will be expired
  51.           unconditionally.  The middle number gives the default expiry
  52.           date: how long after an article's arrival it is expired by
  53.           default.  An explicit expiry date in the article will
  54.           override the default expiry date but not the retention
  55.           period or the purge date.  If the field contains only two
  56.           numbers with a dash separating them, the retention period
  57.           defaults to 0.  If the field contains only a number, the
  58.           retention period defaults to 0 and the purge date defaults
  59.           to `never'.  (But see below.)
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 6/29/89)
  64.  
  65.  
  66.      EXPIRE(8)             C News (5 June 1989)              EXPIRE(8)
  67.  
  68.  
  69.  
  70.           The fourth field is an archiving directory, or `@' which
  71.           indicates that the default archiving directory (see -a)
  72.           should be used, or `-' which suppresses archiving.  An
  73.           explicit archiving directory (not `@') prefixed with `='
  74.           means that articles should be archived into that directory
  75.           itself; normally they go into subdirectories under it by
  76.           newsgroup name, as in the current-news directory tree.
  77.           (E.g., article 123 of comp.pc.drivel being archived into
  78.           archive directory /exp would normally become
  79.           /exp/comp/pc/drivel/123, but if the archiving directory was
  80.           given as `=/exp' rather than `/exp', it would become
  81.           /exp/123.) Expire creates subdirectories under an archiving
  82.           directory automatically, but will not create the archiving
  83.           directory itself.  Archiving directories must be given as
  84.           full pathnames.
  85.  
  86.           The first line of the control file which applies to a given
  87.           article is used to control its expiry.  It is an error for
  88.           no line to apply; the last line should be something like
  89.           `all x 7 -' to ensure that at least one line is always
  90.           applicable.  Cross-posted articles are treated as if they
  91.           were independently posted to each group.
  92.  
  93.           The retention and purge defaults can be overridden by
  94.           including a bounds line, one with the special first field
  95.           /bounds/; the retention and purge defaults for following
  96.           lines will be those of the bounds line.  The other fields of
  97.           a bounds line are ignored but must be present.
  98.  
  99.           Entries in the history file can be retained after article
  100.           expiry, to stop a late-arriving copy of the article from
  101.           being taken as a new article.  To arrange this, include a
  102.           line with the special first field /expired/; this line then
  103.           controls the expiry of history lines after the corresponding
  104.           articles expire.  Dates are still measured from article
  105.           arrival, not expiry.  The other fields of such a line are
  106.           ignored but must be present.  It is strongly recommended
  107.           that such a line be included, and that it specify as long a
  108.           time as practical.
  109.  
  110.           Command-line options are:
  111.  
  112.           -a dir    dir is the default archiving directory; if no
  113.                     default is given, the control file may not contain
  114.                     any `@' archive-directory fields.
  115.  
  116.           -p        print an `index' line for each archived article,
  117.                     containing its pathname, message ID, date
  118.                     received, and `Subject:' line.
  119.  
  120.           -s        space is tight; optimize error recovery to
  121.                     minimize space consumed rather than to leave as
  122.                     much evidence as possible.
  123.  
  124.  
  125.      Page 2                                          (printed 6/29/89)
  126.  
  127.  
  128.      EXPIRE(8)             C News (5 June 1989)              EXPIRE(8)
  129.  
  130.  
  131.  
  132.           -F c      the subfield separator character in the middle
  133.                     history field is c rather than the normal `~'.
  134.  
  135.           -c        check the format and consistency of the control
  136.                     file and the active file, but do not do any
  137.                     expiring.
  138.  
  139.           -n nnnnn  set expire's idea of the time to nnnnn (for
  140.                     testing).
  141.  
  142.           -t        print (on standard error) a shell-script-like
  143.                     description of what would be done, but don't do
  144.                     it.
  145.  
  146.           -l        consider first filename in a history line to be
  147.                     the leader of its line, to be expired only after
  148.                     all others have expired.  (Meant for use on
  149.                     obnoxious systems like VMS which don't support
  150.                     real links.)
  151.  
  152.           -v        verbose: report some statistics after termination.
  153.  
  154.           -d        turn on (voluminous and cryptic) debugging output.
  155.  
  156.           Expire considers the middle field of a history line to
  157.           consist of one or more subfields separated by `~'.  The
  158.           first is the arrival date, which can be either a
  159.           getdate(3)-readable date or a decimal seconds count; expire
  160.           leaves this field unchanged.  The second-if present, non-
  161.           null, and not `-'-is an explicit expiry date for the file,
  162.           again in either format, which expire will convert to a
  163.           decimal seconds count as it regenerates the history file.
  164.           Subsequent fields are preserved but ignored.
  165.  
  166.           Doexpire checks whether another doexpire is running, checks
  167.           that there is enough disk space for expiry and archiving,
  168.           invokes expire with any expireoptions given and with
  169.           /usr/lib/news/explist as the control file, and reports any
  170.           difficulties by sending mail to usenet.  This is usually
  171.           better than just running expire directly.
  172.  
  173.           Mkhistory rebuilds the history file and its auxiliaries to
  174.           match the articles in /usr/spool/news.  Upact updates the
  175.           third fields of the active file to match the articles in
  176.           /usr/spool/news (for historical reasons, expire does not do
  177.           this).  These programs are both fairly slow and they both
  178.           lock the whole news system for the duration of the run, so
  179.           they should not be run casually.
  180.  
  181.  
  182.  
  183.      Page 3                                          (printed 6/29/89)
  184.  
  185.  
  186.      EXPIRE(8)             C News (5 June 1989)              EXPIRE(8)
  187.  
  188.  
  189.  
  190.           Superkludge inspects the files in /usr/spool/news for the
  191.           newsgroup(s) given, and removes any that have been
  192.           superseded, according to the `Supersedes' header, by newer
  193.           ones.  The history file is not altered; it's not worth the
  194.           trouble.  The -v option produces a report of how many
  195.           articles have been superseded in each newsgroup.
  196.  
  197.      FILES
  198.           /usr/lib/news/history        history file
  199.           /usr/lib/news/history.pag    dbm database for history file
  200.           /usr/lib/news/history.dir    dbm database for history file
  201.           /usr/lib/news/explist        expiry control file
  202.           /usr/lib/news/history.o    history file as of last expiry
  203.           /usr/lib/news/history.n    new history and dbm files abuilding
  204.           /usr/lib/news/LOCKexpire*    doexpire's lock file
  205.           /usr/lib/newsbin/expire/*    various auxiliaries
  206.  
  207.      SEE ALSO
  208.           inews(1), dbm(3), relaynews(8)
  209.  
  210.      HISTORY
  211.           Written at U of Toronto by Henry Spencer, with contributions
  212.           by Geoff Collyer.
  213.  
  214.      BUGS
  215.           Archiving is always done by copying, never by linking.  This
  216.           has the side effect that cross-posted articles are archived
  217.           as several independent copies.
  218.  
  219.           The -p subject-finder botches continued header lines, as
  220.           does mkhistory, although such lines are rare.
  221.  
  222.           Upact and superkludge are distasteful kludges, but then, so
  223.           are the third field of the active file and the `Supersedes'
  224.           header.
  225.  
  226.           Some of the more obscure options of expire have not been
  227.           tested well.
  228.  
  229.           One cannot put more than one newsgroup into a single
  230.           archiving directory with the `=' feature, since the article
  231.           numbers will collide with each other and expire doesn't do
  232.           anything about this.
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.      Page 4                                          (printed 6/29/89)
  246.  
  247.