innxmit - Send Usenet articles to a remote NNTP server
innxmit [-acdHlprsv] [-P portnum]
[-T seconds] [-t seconds] host
file
innxmit connects to the NNTP server at the specified
host (validating itself via passwd.nntp if authentication
credentials are present for the remote server in that file) and sends it the
articles specified in the batch file named file. It is normally
invoked by a script run out of cron(8) that uses shlock to
lock the host name, followed by a ctlinnd command to flush the batch
file. If file is not an absolute path name, it is taken relative to
the directory specified by the pathoutgoing parameter in
inn.conf. It is normally written by specifying the
"Wnm" flags in the newsfeeds file.
Each line in the batch file should be in one of the following formats:
article Message-ID
article
The first field is either the storage API token of an article or
the name of a file holding an article. If it is not an absolute pathname or
a storage API token, it is taken to be a file name relative to
patharticles in inn.conf. If the second field is not
specified, the message-ID will be obtained by scanning the article. The two
fields, if present, are separated by a space. If a communication error such
as a write(2) failure occurs, innxmit will stop sending and
rewrite the batch file to contain the current article and any other unsent
articles.
An alternative to innxmit can be innduct, mentioned
in the innfeed(8) man page.
- -a
- If all articles were sent successfully, innxmit will remove the
batch file; otherwise it will rewrite it to contain the list of unsent
articles. If no articles were sent or rejected, the file is left
untouched. This can cause the batch file to grow excessively large if many
articles have been expired and there are communication problems. To always
rewrite the batch file, use the -a flag.
- -c
- In streaming mode, a check of each message-ID is made to avoid sending
articles already on the remote server. After a certain number of articles
accepted in a row, innxmit will no longer send these queries, but
will switch back to sending them upon receiving a reject (which may be for
another reason than a duplicate, like for instance an unwanted newsgroup).
The -c flag will, if streaming mode is supported,
result in always sending articles without checking. This results in
slightly greater throughput and may be appropriate when it is known that
the site could not already have the articles such as in the case of a
"leaf" site.
- -d
- Use the -d flag to print debugging information on standard error.
This will show the protocol transactions between innxmit and the
NNTP server on the remote host.
- -H
- If the -H flag is given, then only headers are sent to host
for all articles except control messages. And the Bytes header field is
also included even if it does not exist in the original article. The
-H flag is useful for Diablo reader.
- -l
- The -l flag is used to turn on logging of reasons the remote gives
for rejecting an article.
- -P portnum
- To specify a port number other than the default, use the -P
flag.
- -p
- If the -p flag is given, then no connection is made and the batch
file is purged of entries that refer to files that no longer exist. This
implies the -a flag.
- -r
- If the remote server sends an unexpected reply code, innxmit will
requeue the article and proceed. Use the -r flag if the article
should not be requeued.
- -s
- innxmit will attempt to negotiate a streaming mode extension of the
NNTP protocol with the server at connect time. If successful, it will use
a slightly different protocol that enhances throughput. If the server does
not recognize the streaming mode negotiation, innxmit will revert
to normal NNTP transfer mode. Use the -s flag to disable the
attempt to negotiate the streaming mode extension.
- -T seconds
- 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.
- -t seconds
- innxmit normally blocks until the connection is made. To specify a
timeout on how long to try to make the connection, use the -t
flag.
- -v
- Upon exit, innxmit reports transfer and CPU usage statistics via
syslog. If the -v flag is used, they will also be printed on the
standard output.
Written by Rich $alz
<rsalz@uunet.uu.net> for InterNetNews. Converted to POD by Julien
Elie.