.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "INNXBATCH 8" .TH INNXBATCH 8 2024-02-12 "INN 2.7.2" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME innxbatch, sendxbatches \- Send xbatched Usenet articles to a remote NNTP server .SH SYNOPSIS .IX Header "SYNOPSIS" \&\fBinnxbatch\fR [\fB\-Dv\fR] [\fB\-t\fR \fItimeout\fR] [\fB\-T\fR \fItimeout\fR] \fIhost\fR \fIfile\fR [\fIfile\fR ...] .PP \&\fBinnxbatch\fR \fB\-i\fR [\fB\-Dv\fR] [\fB\-t\fR \fItimeout\fR] [\fB\-T\fR \fItimeout\fR] \fIhost\fR .PP \&\fBsendxbatches\fR \fIsitename\fR \fIhost\fR \fIfile\fR [\fIfile\fR ...] .SH DESCRIPTION .IX Header "DESCRIPTION" \&\fBinnxbatch\fR connects to port 119 of the NNTP server at the specified \fIhost\fR, and sends it the specified xbatch files, using the XBATCH extension to the NNTP protocol. These files are specified either from the command line or from standard input if \fBi\fR is used. .PP Each file is removed after it has been successfully transferred. .PP If a communication error such as a write(2) failure, or an unexpected reply from the remote server occurs, \fBinnxbatch\fR will stop sending and leave all remaining files untouched for later retry. .PP If authentication credentials are present for the remote server in the \&\fIpasswd.nntp\fR file in \fIpathetc\fR, then \fBinnxbatch\fR will use them to authenticate. .PP \&\fBinnxbatch\fR does not use itself any file locking. At worst, a batch could be transmitted twice in parallel by two independent invocations of \fBinnxbatch\fR. To prevent this, it should be invoked by a script run out of cron(8) that uses shlock(1) to lock the host name, followed by a \f(CW\*(C`ctlinnd flush\*(C'\fR command to flush the batch file. \fBsendxbatches\fR is such a wrapper around \fBinnxbatch\fR. It will ensure only one instance is run, flush \fIsitename\fR (as used in the \&\fInewsfeeds\fR entry) and send to \fIhost\fR the files given as arguments. .PP As the XBATCH extension is not a standardized NNTP command, some news servers do not recognize it. Moreover, to accept batches from remote peers via XBATCH, you have to explicitly enable the capability with the \fIxbatch\fR setting in \fIincoming.conf\fR. Instead of using \fBinnxbatch\fR, you may consider \&\fBinnfeed\fR, or if that is not possible, \fBnntpsend\fR. .SH OPTIONS .IX Header "OPTIONS" .IP \fB\-D\fR 4 .IX Item "-D" Prints debugging information on standard error. This will show the protocol transactions between \fBinnxbatch\fR and the NNTP server on the remote host. .IP \fB\-i\fR 4 .IX Item "-i" Reads batch file names from standard input. For each successfully transmitted batch, an \f(CW\*(C`OK\*(C'\fR is printed on stdout to indicate that another file name is expected. .IP "\fB\-t\fR \fItimeout\fR" 4 .IX Item "-t timeout" Specifies a timeout in seconds on how long to try to make the connection. Otherwise, \fBinnxbatch\fR normally blocks until the connection is made. .IP "\fB\-T\fR \fItimeout\fR" 4 .IX Item "-T timeout" Specifies the total amount of time in seconds that should be allowed for article transfers. .Sp The default is to wait until an I/O error occurs, or all the articles have been transferred. If this flag is used, the time is checked just before each article is started; it will not abort a transfer that is in progress. .IP \fB\-v\fR 4 .IX Item "-v" Upon exit, \fBinnxbatch\fR reports transfer and CPU usage statistics via syslog(3). If this flag is used, they will also be printed on the standard output. .SH EXAMPLES .IX Header "EXAMPLES" A sample \fInewsfeeds\fR entry to produce appropriate xbatch files is: .PP .Vb 5 \& nase\e \& :*\e \& :Tc,Wnb\e \& :/batcher \-p "(<$COMPRESS in /innshellvars>\e \& > /nase.\e$\e$)" nase.do.main .Ve .PP A sample script to invoke innxbatch(8) is: .PP .Vb 12 \& #! /bin/sh \& # Send xbatches for a site, wrapped around innxbatch. \& if [ $# \-lt 3 ] \& then \& echo "usage: $0 ..." \& exit 1 \& fi \& . /innshellvars \& site="$1"; host="$2"; shift; shift \& ctlinnd flush "$site" \e \& && sleep 5 \e \& && exec ${NEWSBIN}/innxbatch \-v \-D "$host" $* .Ve .PP You can use \fBsendxbatches\fR, already shipped with INN, doing locking. An example of call is: .PP .Vb 1 \& sendxbatches nase remote.news.server.name /nase* .Ve .SH HISTORY .IX Header "HISTORY" Written by Stefan Petri , modelled after \fBinnxmit\fR and the XBATCH patch for the NNTP reference implementation. Examples from Karsten Leipold . Rewritten into POD by Julien Elie. .SH "SEE ALSO" .IX Header "SEE ALSO" ctlinnd(8), incoming.conf(5), innxmit(8), newsfeeds(5), nntpsend(8), passwd.nntp(5), shlock(1).