Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mandrill!gatech!purdue!decwrl!sun!pitstop!sundc!seismo!uunet!munnari!ditmela!latcs1!vertical!greg
From: greg@vertical.oz (Greg Bond)
Newsgroups: news.sysadmin
Subject: Re: Unjunking?
Message-ID: <143@vertical.oz>
Date: 11 Jul 88 01:00:59 GMT
References: <2293@rtech.rtech.com> <3707@rpp386.UUCP>
Reply-To: greg@vertical.oz (Greg Bond)
Organization: Vertical Software, Melbourne, Australia
Lines: 59

This is what I do if I have problems (like full spool disks) and need
to resubmit stuff to inews.

First, my feed gets a file of article ID's (from my errlog file usually)
and runs this script:

	#! /bin/sh

	# "dropped" contains the list of article IDs.
	fgrep -f dropped /usr/lib/news/history |
	awk '{printf("/usr/spool/news/%s\n", $4);}' |
	tr . /  > files
	# "files" now contains the list of article filenames.

	(echo "#! cunbatch" ; /usr/lib/news/batch files 10000000 | \
		/usr/lib/news/compress) > urk
	# "urk" now contains the batched, compressed news.

which creates a file of re-sent compressed batched news.  This is
sendfile'd (or uucp'd for those on primitive nets :-) direct to me.

Then I run this script:

#! /bin/sh
#
#	Given a compressed batch file batch that consists of articles
#	that have been dropped and resent, post them. We need to do 3 things:
#
#	1) strip the #! cunbatch header and uncompress
#	2) Change the Message-ID so that the news history mechanism
#		will not reject it as duplicate (prepend a v.)
#	3) Alter the #! rnews length fields to account for 2)
#
#	Assume the input file is stdin
#
#	This is NOT fast!
#
#	Greg@vertical.oz 3May88
#
dd ibs=12 obs=8k skip=1 | uncompress | \
	sed -e '/^Message-ID:/s/