SEND-UUCP(8) | InterNetNews Documentation | SEND-UUCP(8) |
send-uucp - Send Usenet articles via UUCP
send-uucp [site ...]
The send-uucp program processes batch files written by innd(8) to send Usenet articles to UUCP sites. It reads a configuration file to control how it behaves with various sites. Normally, it is run periodically out of cron to put together batches and send them to remote UUCP sites.
It makes it possible to reduce bandwidth usage and to send news to remote UUCP sites which cannot receive a real-time feed (for instance if they are over dial-up connections).
Any arguments provided to the program are interpreted as a list of sites specified in send-uucp.cf for which batches should be generated. If no arguments are supplied, then batches will be generated for all sites listed in that configuration file.
The sites to which articles are to be sent must be configured in the configuration file send-uucp.cf in pathetc as set in inn.conf. Each site is specified with a line of the form:
site[:host[:funnel]] [compressor [maxsize [batchtime]]]
Fields are separated by spaces and only the site name needs to be specified, with defaults being used for unspecified values. If the first character on a line is a hash sign ("#") then the rest of the line is ignored.
Here is an example for the send-uucp.cf configuration file:
zoetermeer gzip 1048576 5,18,22 hoofddorp gzip 1048576 5,18,22 pa3ebv gzip 1048576 5,18,22 drinkel bzip2 1048576 5,6,18,20,22,0,2 manhole compress 1048576 5,18,22 owl compress 1048576 able pern::MYFUNNEL!
This defines eight UUCP sites. The first three and the last two use "gzip" compression, the fourth site ("drinkel") uses "bzip2" and the remaining sites ("manhole" and "owl") use "compress". The first six use a batch size of 1 MB, and the two last sites ("able" and "pern") use the default of 500,000 bytes. The "zoetermeer", "hoofddorp", "pa3ebv", and "manhole" sites will only have batches generated for them during the hours of 05:00, 18:00, and 22:00, and the "drinkel" site will only have batches generated during those hours and 06:00, 20:00, 00:00, and 02:00. There are no restrictions on when batches will be generated for "owl", "able" and "pern".
The "pern" site is configured as a funnel into "MYFUNNEL!". send-uucp will issue "ctlinnd flush MYFUNNEL!" instead of "ctlinnd flush pern".
As for the newsfeeds file, the usual flags used for a UUCP feed are "Tf,Wnb". Here is a typical entry for "zoetermeer", where the batching is kept between 4 KB and 1 KB:
zoetermeer\ :*,!junk,!control,!control.*/!foo\ :Tf,Wnb,B4096/1024:
Here are the steps to follow to set up a UUCP feed over SSH between two news servers, using the UUCP implementation available in Debian as the "uucp" package. The mechanisms described below should be transposed if you use another UUCP implementation. (And if you do, please inform the INN maintainers about how to set up a feed with another UUCP implementation, so that it can be added to this documentation.)
schedule news.server.to.feed 00 poll news.server.to.feed 00 04 08 12 16 20
If sending is hourly, just list all the hours.
news.server.to.feed login password
nodename my.news.server
login<TAB>password
system news.server.to.feed call-login * call-password * commands <pathbin>/rnews time any chat "" \d\d\r\c ogin: \d\L word: \P chat-timeout 120 protocol i port ssh.news.server.to.feed
port ssh.news.server.to.feed type pipe command /bin/ssh -a -x -q -i <key> -l uucp news.server.to.feed reliable true protocol etyig
where key is the path to the private key to use for the SSH connection, like for instance /var/spool/uucp/.ssh/id_private_key.
no-port-forwarding,no-X11-forwarding,no-agent-forwarding, command="/usr/sbin/uucico -l",from="news.server.to.feed" ssh-rsa xxxyyyzzz uucp@news.server.to.feed
This ensures the SSH connection will not be used for another goal than exchanging UUCP batches.
/bin/ssh -a -x -q -i <key> -l uucp news.server.to.feed
news.server.to.feed/pathname:*:Tf,Wnb,B4096/1024:
news.server.to.feed bzip2 1048576 3,7,11,15,19,23
52 * * * * news <pathbin>/send-uucp
It can be useful to set up a different launch time than your remote servers. For instance, if you generate batches every hour at minute 52, a remote peer may do the same at minute 22. This way, you may exchange articles more frequently, depending on when each other connects.
Like for send-uucp, adjust the launch time to maximize the number and the freshness of batches to exchanges.
You will see that send-uucp prepares rnews batches named like D.0I8Y, that are queued by uux. When uucico is afterwards started from cron to transfer these batches, uucico takes available batches from the remote sites at the same time. These received batches are then processed by uuxqt which calls rnews to inject them.
That's all!
This program was originally written by Edvard Tuinder <ed@elm.net> and then maintained and extended by Miquel van Smoorenburg <miquels@cistron.nl>. Marco d'Itri <md@linux.it> cleaned up the code for inclusion in INN. This manual page was written by Mark Brown <broonie@sirena.org.uk>.
2023-09-06 | INN 2.7.1 |