NAME
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 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 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, fol-
lowed 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. 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 speci-
fied 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 all
files will be flushed every n seconds.
-r By default, the program sets its standard error to
/news/log/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 /news/out.going/%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 exclama-
tion 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.
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'' com-
mand except that any files are not re-opened. If given
an argument, then the specified site is dropped, other-
wise 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'' 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.11, dated 1996/10/29.
SEE ALSO
ctlinnd(8), filechan(8), innd(8), newsfeeds(5).
Man(1) output converted with
man2html