PROCBATCH(8) | InterNetNews Documentation | PROCBATCH(8) |
procbatch - Process an INN funnel file or innfeed-dropped file
procbatch [-hquv] [-c [-s spooldir]] [-d outdir] [-e peer] [-m [-t backlogdir]] batchfile
procbatch will take an INN funnel or innfeed-dropped file and split it up by host for direct processing with innfeed or innxmit.
While funnel files will normally only be of interest after a crash, innfeed may drop articles for a variety of reasons, not all of which indicate a fundamental problem. For example, innfeed may drop articles when started and stopped in quick succession while INN processes a large number of control messages (a temporary indisposition), or when INN feeds it articles for a site that isn't in innfeed.conf (a misconfiguration).
Every running innfeed opens a file named innfeed-dropped.<id>, which should normally always be zero length and deleted on exit. If there are non-zero length files, innfeed has dropped some articles, and those dropped article files have to be processed or those articles will never be sent to peers. Though news.daily automatically process these files (invoking procbatch), it is also possible to do that manually. First make sure that the file doesn't correspond to a currently running innfeed, for example by calling "ctlinnd flush innfeed!".
An INN funnel file, or an innfeed-dropped file, will usually be of the format:
pathname message-id peer1 peer2 peer3 ...
where pathname can alternatively be a storage API token.
procbatch will break this file up into files named peer1.tmp, peer2.tmp, peer3.tmp, etc. of the format:
pathname message-id
These tape files will be sorted and stripped of duplicate entries. Simply renaming them to peer1, peer2, peer3, etc. in a running innfeed's backlog directory will cause them to be picked up automatically by innfeed every backlog-newfile-period seconds (as set in in innfeed.conf). Use the -m flag to have procbatch rename and move them into place automatically.
After running procbatch, you may want to make sure that every generated backlog file has a corresponding ".lock" file. Otherwise, innfeed doesn't have that site configured as a peer, meaning your innfeed.conf may need fixing.
Take the file innfeed-dropped.B012345, process its lines appending to tapefiles in innfeed's backlog directory, and remove it when done. Be verbose while doing so:
procbatch -umv innfeed-dropped.B012345
Go through innfeed-dropped.B012345 saving entries for "peer1" in /tmp/peer1.tmp, but only if the articles are still available in the local tradspool:
procbatch -e peer1 -d /tmp -c innfeed-dropped.B012345
procbatch should be able to check for the existence of articles with any kind of article store, possibly using grephistory.
procbatch was written by James Brister and improved for speed by Clayton O'Neill.
This manual page was written by Florian Schlichting, with the help of a memo by Russ Allbery.
2023-09-06 | INN 2.7.1 |