buffchan



BUFFCHAN(8)                                                        BUFFCHAN(8)




NAME

       buffchan - buffered file-writing backend for InterNetNews


SYNOPSIS

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


DESCRIPTION

       Buffchan  reads  lines from standard input and copies certain 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 the number of  available
              descriptors can keep open.  If the ‘‘-b’’ flag is used, the pro-
              gram will allocate a buffer and attach it to the file using set-
              buf(3).

       -c lines
              If  the ‘‘-c’’ flag is used, buffchan will close, and re-open, a
              file after every lines lines are written to a file.

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

       -d directory
              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 num_fields
              Buffchan input is interpreted as a sequence of lines.  Each line
              contains  a  fixed number of initial fields, followed by a vari-
              able number of filename fields.  All fields in a line are  sepa-
              rated  by  whitespace.   The default number of initial fields is
              one; the ‘‘-f’’ flag may be used to specify a  different  number
              of fields.

       -m map Map  files  specify short names as aliases for domain names; see
              filechan(8) for details and an example.

       -p pidfile
              If the ‘‘-p’’ flag is used, the program will write a  line  con-
              taining its process ID (in text) to the specified file.

       -l lines
              If  the  ‘‘-l’’ flag is used, buffchan will call fflush(3) after
              every lines lines are written to a file.

       -L seconds
              If the ‘‘-L’’ flag is used, all files will be  flushed  every  n
              seconds.

       -r     By   default,   the   program   sends   its  error  messages  to
              <pathlog in inn.conf>/errlog.  To suppress this redirection  and
              send error messages to standard error, use the ‘‘-r’’ flag.

       -s filename_format
              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 contents of a non-initial 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  newsfeeds(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 specified 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  config.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 out-
              put 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 no files are 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  men-
              tions  the site.)  When a ctlinnd ‘‘drop site’’ command is sent,
              innd will automatically forward  the  command  to  buffchan  for
              sites listed as funnels feeding into this exploder.  To drop all
              sites, use the ctlinnd ‘‘send buffchan-site drop’’ command.

       readmap
              The map file (specified with the ‘‘-m’’ flag) is reloaded.


HISTORY

       Written by Rich $alz <rsalz@uunet.uu.net> for  InterNetNews.   This  is
       revision 1.8, dated 2002/12/03.


SEE ALSO

       ctlinnd(8), filechan(8), inn.conf(5), innd(8), newsfeeds(5).



                                                                   BUFFCHAN(8)

Man(1) output converted with man2html