batcher - article batching backend for InterNetNews
batcher [ -a arts ] [ -A total_arts ] [ -b size ] [ -B total_size ] [ -i
string ] [ -N num_batches ] [ -p process ] [ -r ] [ -s separator ] [ -S
alt_spool ] [ -v ] host [ input ]
Batcher reads uses a list of files to prepare news batches for the
specified host. It is normally invoked by a script run out of cron(8)
that uses shlock(1) to lock the host name, followed by a ctlinnd(8)
command to flush the batchfile.
Batcher reads the named input file, or standard input if no file is
given. Relative pathnames are interpreted from the
<config$_PATH_BATCHDIR> (typically /var/news/spool/out.going ) directory.
The input is taken as a set of lines. Blank lines and lines starting
with a number sign (``#'') are ignored. All other lines should consist
of one or two fields separated by a single space. The first field is the
name of a file holding an article; if it is not an an absolute pathname
it is taken relative to the news spool directory, <config$_PATH_SPOOL>.
(typically /var/news/spool/articles) The second field, if present,
specifies the size of the article in bytes.
-S The ``-S'' flag may be used to specify an alternate spool directory
to use if the article is not found; this would normally be an NFS-
mounted spool directory of a master server with longer expiration
-r By default, the program sets its standard error to
<config$_PATH_ERRLOG>. (typically /var/log/news/errlog ). To
suppress this redirection, use the ``-r'' flag.
-v Upon exit, batcher reports statistics via syslog(3). If the ``-v''
flag is used, they will also be printed on the standard output.
-b Batcher collects the text of the named articles into batches. To
limit the size of each batch, use the ``-b'' flag. The default size
is 60 kilobytes. Using ``-b0'' allows unlimited batch sizes.
-a To limit the number of articles in each batch, use the ``-a'' flag.
The default is no limit. A new batch will be started when either
the byte count or number of articles written exceeds the specified
-B To limit the total number of bytes written for all batches, use the
-A To limit the total number of articles that can be batched use the
-N To limit the total number of batches that should be created use the
In all three cases, the default is zero, which is taken to mean no
A batch starts with an identifying line to specify the unpacking
method to be used on the receiving end. When the ``-i'' flag is
used, the initial string, string, followed by a newline, will be
output at the start of every batch. The default is to have no
-s Each article starts with a separator line to indicate the size of
the article. To specify the separator use the ``-s'' flag. This is
a sprintf(3) format string which can have a single ``%ld'' parameter
which will be given the size of the article. If the separator is
not empty, then the string and a newline will be output before every
article. The default separator is ``#! rnews %ld''.
-p By default, batches are written to standard output, which is not
useful when more than one output batch is created. Use the ``-p''
flag to specify the shell command that should be created (via
popen(3)) whenever a new batch is started. The process is a sprintf
format string which can have a single ``%s'' parameter which will be
given the host name. A common value is:
( echo '#! cunbatch' ; exec compress ) | uux - -r -z %s!rnews
If the input is exhausted, batcher will exit with a zero status. If any
of the limits specified with the ``-B,'' ``-A,'' or ``-N'' flags is
reached, or if there is an error writing the batch, then batcher will try
to spool the input, copying it to a file. If there was no input
filename, the standard input will be copied to
<config$_PATH_BATCHDIR>/host (typically /var/news/spool/out.going ) and
the program will exit. If an input filename was given, a temporary file
named input.bch (if input is an absolute pathname) or
<config$_PATH_BATCHDIR>/input.bch (typically /var/news/spool/out.going/
input.bch ) (if the filename does not begin with a slash) is created.
Once the input is copied, batcher will try to rename this temporary file
to be the name of the input file, and then exit.
Upon receipt of an interrupt or termination signal, batcher will finish
sending the current article, close the batch, and then rewrite the
batchfile according as described in the previous paragraph.
Written by Rich $alz <email@example.com> for InterNetNews. This is
revision 1.18, dated 1996/10/29.
ctlinnd(8) , newsfeeds(5) , shlock(1) .
You can find a summary and links related to this topic
as part of the Mib Software Usenet RKT.