buffchan - buffered file-writing backend for InterNetNews


SYNOPSIS

       buffchan [ -b ] [ -c lines ] [ -C seconds ] [ -d directory
       ] [ -f fields ] [ -m map ] [ -p pidfile ] [ -l lines  ]  [
       -L seconds ] [ -r ] [ -s file_format ] [ -u ]


DESCRIPTION

       Buffchan  reads  lines from standard input and copies cer­
       tain fields in each line into files named by other  fields
       within  the  line.   Buffchan  is intended to be called by
       innd(8) as an exploder feed.


OPTIONS

       -b     Once buffchan opens a file it keeps it  open.   The
              input  must therefore never specify more files than
              can the number of available  descriptors  can  keep
              open.  If the ``-b'' flag is used, the program will
              allocate a buffer and attach it to the  file  using
              setbuf(3).

       -c     If  the  ``-c''  flag is used with a number n, then
              buffchan will close,  and  re-open,  a  file  after
              every n lines are written to a file.

       -C     Similarly,  the  ``-C'' flag may be used to specify
              that all files should be closed and re-opened every
              n seconds.

       -d     The  ``-d'' flag may be used to specify a directory
              the program should change to before  starting.   If
              this  flag is used, then the default for the ``-s''
              flag is changed to be a simple ``%s.''

       -f     Buffchan 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;  the  ``-f'' flag may be used to specify a
              different number of fields.

       -m     See filechan(8) for an example.

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

       -l     If the ``-l'' flag is used with a  number  n,  then
              buffchan  will  call  fflush(3) after every n lines
              are written to a file.

       -L     If the ``-L'' flag is used with a  number  n,  then


       -r     By  default, the program sets its standard error to
              <pathlog in inn.conf>/errlog.

              To suppress this redirection, use the ``-r''  flag.

       -s     After  the  initial  fields,  each  remaining field
              names a file to write.  The ``-s'' flag may be used
              to specify a format string that maps the field to a
              file name.  This  is  a  sprintf(3)  format  string
              which  should  have a single ``%s'' parameter which
              will be given the  field.   The  default  value  is
              <pathoutgoing in inn.conf>/%s.  See the description
              of this flag in filechan(8).

       -u     If the  ``-u''  flag  is  used,  the  program  will
              request unbuffered output.

       Buffchan  can  be  invoked  as an exploder feed (see news­
       feeds(5)).  As such, if a line starts with an  exclamation
       point  it  will  be treated as a command.  There are three
       commands, described below:

       flush  The ``flush'' command closes and re-opens all  open
              files;  ``flush xxx'' which flushes only the speci­
              fied site.  These are analogous to  the  ctlinnd(8)
              ``flush''  command,  and can be achieved by doing a
              ``send "flush xxx"''  command.   Applications   can
              tell  that  the ``flush'' has completed by renaming
              the file before issuing the command;  buffchan  has
              completed  the  command  when the original filename
              re-appears.    If   <$ac_cv_func_fchmod   in   con­
              fig.cache>  is  ``yes'', then buffchan also changes
              the access permissions of the file  from  read-only
              for  everyone  to read-write for owner and group as
              it flushes or closes each  output  file.   It  will
              change  the  modes back to read-only if it re-opens
              the same file.

       drop   The ``drop'' command is similar  to  the  ``flush''
              command  except  that  any files are not re-opened.
              If given an argument, then the  specified  site  is
              dropped,  otherwise  all  sites are dropped.  (Note
              that the site will be restarted if the input stream
              mentions  the  site.)  When a ctlinnd ``drop site''
              command is sent, innd  will  automatically  forward
              the  command  to  buffchan  if the site is a funnel
              that feeds into this exploder.  To drop all  sites,
              use  the  ctlinnd  ``send buffchan-site drop'' com­
              mand.

              The map file (specified with the  ``-m''  flag)  is
              reloaded.


HISTORY

       Written  by  Rich  $alz <rsalz@uunet.uu.net> for InterNet­
       News.  This is revision 1.6.6.1, dated 2000/08/17.


SEE ALSO

       ctlinnd(8),  filechan(8),  inn.conf(5),   innd(8),   news­
       feeds(5).


Man(1) output converted with man2html