innxbatch - send xbatched Usenet articles to a remote NNTP server
innxbatch [ -D ] [ -t timeout ] [ -T timeout ] [ -v ] host file ...
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.
Each file is 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.
|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 each article is started; it will not abort a transfer that is in progress.
|-v||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.|
|-D||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>):
nase\ :*\ :Tc,Wnb\ :<pathbin in inn.conf>/batcher \ -p "(<$ac_cv_path_COMPRESS in config.cache> >\ <pathoutgoing in inn.conf>/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
. <pathbin in inn.conf>/innshellvars
site="$1"; host="$2"; shift; shift
ctlinnd flush "$site" \ && sleep 5 \ && exec $NEWSBIN/innxbatch -v -D "$host" $*