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 cer
tain 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 descrip
tion 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 writ
ten.
OPTIONS
-f The ``-f'' flag may be used to specify a different
number of initial fields.
-d By default, filechan writes its output into the
directory <pathoutgoing in inn.conf>. 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
specified file.
If filechan is invoked with ``-f 2'' and given the follow
ing 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:
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.6,
dated 1998/04/09.
SEE ALSO
buffchan(8), inn.conf(5), innd(8), newsfeeds(5).
Man(1) output converted with
man2html