INNXBATCH(8)

NAME
innxbatch - send xbatched Usenet articles to a remote NNTP server

SYNOPSIS
innxbatch [ -D ] [ -t timeout ] [ -T timeout ] [ -v ] host file ...

DESCRIPTION
Innxbatch connects to the NNTP server at the specified host and sends it the specified xbatch files, using the XBATCH extension to the NNTP protocol. 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.

Innxbatch normally blocks until the connection is made. To specify a timeout on how long to try to make the connection, use the ``-t'' flag.
To specify the total amount of time that should be allowed for article transfers, use the ``-T'' flag.
The default is to wait until an I/O error occurs, or all the articles have been transferred. If the ``-T'' flag is used, the time is checked just before an article is started; it will not abort a transfer that is in progress. Both values are measured in seconds.

Each fileis removed after it has been successfully transferred.

If a communication error such as a write(2) failure, or an unexpected reply from the remote server occurs, innxbatch will stop sending and leave all remaining files untouched for later retry.

Upon exit, innxbatch reports transfer and CPU usage statistics via syslog(3). If the ``-v'' flag is used, they will also be printed on the standard output.

Use the ``-D'' flag to print debugging information on standard error. This will show the protocol transactions between innxbatch and the NNTP server on the remote host.

A sample newsfeeds(5) entry to produce appropriate xbatch files (thanks to Karsten Leipold <poldi@dfn.de>):

  nase\
    :*\
    :Tc,Wnb\
    :/usr/lib/news/bin/batcher \
       -p "(/bin/gzip > /var/spool/news/out.going/nase.\$\$)" \
       nase.do.main

A sample script to invoke innxbatch(8) is:

  #!/bin/sh
  ##  SH script to send xbatches for a site, wrapped around innxbatch
  ##  Invocation:
  ##     sendxbatches.sh <sitename> <hostname> <xbatch file name> ...

  if [ $# -le 3 ]
  then
	echo "usage: $0 <sitename> <hostname> <xbatch file name>"
	exit 1
  fi

  ##  =()<  . @<_PATH_SHELLVARS>@>()=
  . /usr/lib/news/innshellvars

  site="$1"; host="$2"; shift; shift

  ctlinnd flush "$site" \
  && sleep 5 \
  && exec $NEWSBIN/innxbatch -v -D "$host" $*

HISTORY
Written by Stefan Petri <petri@ibr.cs.tu-bs.de>, modelled after innxmit(8) and the XBATCH patch for the nntp reference implementation.

SEE ALSO
innxmit(8), nntpsend(8), ctlinnd(8), innd(8), newsfeeds(5), shlock(1).