Author: Michael J. Tubby B.Sc. G8TIC Date: To: exim-users, Graeme Wilford Subject: Re: [Exim] upgrade v3.03 to 3.16 breaks auto_thaw/retry queue cleaning
> > > On Fri, 6 Oct 2000, Graeme Wilford wrote:
> >
> > > Ever since we upgraded from 3.03 to 3.16, our queue of frozen messages
> > > is failing to be automatically cleared out.
> >
> > I don't see this on my systems. I wonder what's different?
> >
> > > I've since changed the auto_thaw value to 8h.
> >
> > I have it set to 24h. I also have
> >
> > ignore_errmsg_errors_after = 12h
> >
> > > Messages simply aren't falling off the end of the retry list and being
> > > dropped. Typically, they're local bounce messages where the originating > > > (external) sender is not deliverable to.
> >
> > Please run a delivery of one of these messages, with debugging turned on
> > (-d9). That might show (me at least) why it isn't timing out when the
> > delivery fails.
>
> I've sent a -d9 delivery output privately to Philip, but as someone else
> mentioned the problem on this list, I thought I'd mention that using the
> ignore_errmsg_errors_after option has certainly reduced my queues of
> frozen messages since this morning.
>
> I'm now looking at only a handful of old frozen messages that refuse to die. >
> Cheers,
> Wilf.
The following will remove the most stubborn frozen messages from your
queue -
actually it'll remove all frozen messages that it finds, even if they are
only a few
minutes old - use with care...
Mike
#!/usr/bin/perl
#
# rmfrozen.pl -- remove frozen messages from the Exim mail queue
# Copyright (C) 1999 Mike Tubby, Thorcom Systems Limited (mike@???)
#
# This needs to be run as root. It obtains a list of frozen messages
# on the Exim mail queue and then removes them one-by-one.
#
open(QUEUE, "/usr/exim/bin/exim -bpu | grep frozen |") or die "rmfrozen:
can't open Exim mail queue";
while (<QUEUE>) {
my $in = $_;
$in = ~s/^\s+//; # hack off leading spaces
my ($age, $size, $id, $brackets, $from, $stuff1, $stuff2, $stuff3) = split
/\s+/;
print "removing message: $id age: $age\n";
system("/usr/exim/bin/exim -Mrm $id");
}