.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "INNXBATCH 8" .TH INNXBATCH 8 "2022-07-10" "INN 2.7.1" "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 \s-1NNTP\s0 server at the specified \fIhost\fR, and sends it the specified xbatch files, using the \s-1XBATCH\s0 extension to the \&\s-1NNTP\s0 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 \fBwrite\fR\|(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 \fBcron\fR\|(8) that uses \&\fBshlock\fR\|(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 \s-1XBATCH\s0 extension is not a standardized \s-1NNTP\s0 command, some news servers do not recognize it. Moreover, to accept batches from remote peers via \s-1XBATCH,\s0 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 \s-1NNTP\s0 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 \s-1CPU\s0 usage statistics via \&\fBsyslog\fR\|(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 \fBinnxbatch\fR\|(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 \s-1INN,\s0 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 \s-1XBATCH\s0 patch for the \s-1NNTP\s0 reference implementation. Examples from Karsten Leipold . Rewritten into \s-1POD\s0 by Julien Elie. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBctlinnd\fR\|(8), \fBincoming.conf\fR\|(5), \fBinnxmit\fR\|(8), \fBnewsfeeds\fR\|(5), \fBnntpsend\fR\|(8), \&\fBpasswd.nntp\fR\|(5), \fBshlock\fR\|(1).