NAME

     filechan - file-writing backend for InterNetNews


SYNOPSIS

     filechan [ -d directory ] [ -f fields ] [ -m mapfile ] [  -p
     pidfile ]


DESCRIPTION

     Filechan reads lines from standard input and copies  certain
     fields  in each line into files named by other fields within
     the line.  Filechan is intended to be called by innd(8) as a
     channel  feed.   (It  is  not  a  full exploder and does not
     accept commands; see newsfeeds(5) for a description  of  the
     difference and buffchan(8) for an exploder program.)

     Filechan input is interpreted as a set of lines.  Each  line
     contains  a  fixed  number  of initial fields, followed by a
     variable number of filename fields.  All fields  in  a  line
     are  separated by whitespace.  The default number of initial
     fields is one.

     For each line of input, filechan writes the initial  fields,
     separated  by  whitespace and followed by a newline, to each
     of the files named in the filename fields.  When writing  to
     a  file,  filechan opens it in append mode and tries to lock
     it and change the ownership to the user and group  who  owns
     the directory where the file is being written.


OPTIONS

     -f   The ``-f'' flag may be  used  to  specify  a  different
          number of fields.

     -d   By default, filechan  writes  its  arguments  into  the
          directory /news/out.going.  The ``-d'' flag may be used
          to specify a directory the  program  should  change  to
          before starting.

     -p   If the ``-p'' flag is used, the program  will  write  a
          line  containing its process ID (in text) to the speci-
          fied file.

     If filechan is invoked with ``-f 2'' and given the following
     input:
          news/software/b/132 <1643@munnari.oz.au> foo uunet
          news/software/b/133 <102060@litchi.foo.com> uunet munnari
          comp/sources/unix/2002 <999@news.foo.com> foo uunet munnari

     Then the file foo will have these lines:
          news/software/b/132 <1643@munnari.oz.au>
          comp/sources/unix/2002 <999@news.foo.com>

     the file munnari will have these lines:
          news/software/b/133 <102060@litchi.foo.com>
          comp/sources/unix/2002 <999@news.foo.com>

     and the file uunet will have these lines:
          news/software/b/132 <1643@munnari.oz.au>
          news/software/b/133 <102060@litchi.foo.com>
          comp/sources/unix/2002 <999@news.foo.com>

     Because the time window in which a  file  is  open  is  very
     small,  complicated  flushing  and locking protocols are not
     needed; a mv(1) followed by  a  sleep(1)  for  a  couple  of
     seconds is sufficient.

     -m   A map file may be specified by using the  ``-m''  flag.
          Blank  lines  and  lines  starting  with  a number sign
          (``#'') are ignored.  All other lines should  have  two
          host  names  separated  by a colon.  The first field is
          the name that may  appear  in  the  input  stream;  the
          second field names the file to be used when the name in
          the first field appears.  For  example,  the  following
          map  file  may  be used to map the short names above to
          the full domain names:
          # This is a comment
          uunet:news.uu.net
          foo:foo.com
          munnari:munnari.oz.au


HISTORY

     Written by Robert Elz <kre@munnari.oz.au>,  flags  added  by
     Rich  $alz  <rsalz@uunet.uu.net>.   This  is  revision 1.19,
     dated 1996/10/29.


SEE ALSO

     buffchan(8), innd(8), newsfeeds(5).



















Man(1) output converted with man2html