Exim queue running cron.d fragment? recomplie cron? - debian
Hancock, Scott
HancockS at MORGANCO.COM
Wed Nov 19 21:32:17 GMT 2003
Yesterday, I noticed Exim processes at work that probably should not have been there. I believe exim was caught in a mail loop.
I believe these processes are being started from /etc/cron.d/exim installed with the Debian exim 3.x package. The line
08,23,38,53 * * * * mail if [ -x /usr/lib/exim/exim3 -a -f /etc/exim/exim.conf ]; then /usr/lib/exim/exim3 -q ; fi
points to the exim binary and the compiled in spool paths. This is the listening only queue that defers all mail for mailscanner. The "/etc/exim/exim.conf" conf file is also related to the listen only queue. I believe this line should refer to the outgoing queue, should it not? So corrected should be
08,23,38,53 * * * * mail if [ -x /usr/lib/exim/exim3 -a -f /etc/exim/exim_send.conf ]; then /usr/lib/exim/exim3 -C /etc/exim/exim_send.conf /-q ; fi
Secondly I found Tim Bishop's (6/2/2003 quoted below) post about cron calling exim with -odi. He mentioned a recompile to keep cron from starting a queue runner on the listening queue. I believe this is the line (partial file quote end of message)
#define MAILARGS "%s -FCronDaemon -odi -oem -or0s %s" /*-*/
But I'm wondering what to change the line to. Did Tim just erase the -odi?
My retry and remote db on the listening side are about 500 MB each when they should be empty.
Thanks any help and patience with this long post.
Scott
***************************entire file************************
# /etc/cron.d/exim: crontab fragment for exim
# Run queue every 15 minutes
08,23,38,53 * * * * mail if [ -x /usr/lib/exim/exim3 -a -f /etc/exim/exim.conf ]; then /usr/lib/exim/exim3 -q ; fi
# Tidy databases
13 6 * * * mail if [ -x /usr/sbin/exim_tidydb ]; then /usr/sbin/exim_tidydb /var/spool/exim retry >/dev/null; fi
17 6 * * * mail if [ -x /usr/sbin/exim_tidydb ]; then /usr/sbin/exim_tidydb /var/spool/exim wait-remote_smtp >/dev/null; fi
21 6 * * * mail if [ -x /usr/sbin/exim_tidydb ]; then /usr/sbin/exim_tidydb /var/spool/exim reject >/dev/null; fi
13 6 * * * mail if [ -x /usr/sbin/exim_tidydb ]; then /usr/sbin/exim_tidydb /var/spool/exim_incoming retry >/dev/null; fi
17 6 * * * mail if [ -x /usr/sbin/exim_tidydb ]; then /usr/sbin/exim_tidydb /var/spool/exim_incoming wait-remote_smtp >/dev/null; fi
21 6 * * * mail if [ -x /usr/sbin/exim_tidydb ]; then /usr/sbin/exim_tidydb /var/spool/exim_incoming reject >/dev/null; fi
********************************************************************
Thread => Re: Exim+MailScanner - not always queuing mail on "in" side
> On Mon, Jun 02, 2003 at 10:32:59PM +0200, Rasmus Bøg Hansen wrote: Tim
> Bishop <tim-lists at BISHNET.NET> writes:
>
> > I did have a retry file in the exim.in/db directory - which was
> > causing the bouncing. However, I think I know how this got there.
> >
> > Cron on FreeBSD runs sendmail (well, exim) with the -odi flag, which
> > causes a second exim process to attempt delivery - even with the
> > queue_only option switched on. Turning off this flag seems to have
> > gone part way to fixing this... but it's still not entirely happy.
>
> How do you turn off -odi? It seems that one must recompile cron to do
> this - but of course, cron on Debian Linux may be different...
That's what I did - it was slightly annoying to had to do so.
I changed MAILARGS in:
/usr/src/usr.sbin/cron/cron/config.h
Hardly ideal - but it does at least work. This sort of thing really should be configurable at runtime.
Tim.
--
Tim Bishop
http://www.bishnet.net/tim
PGP Key: 0x5AE7D984
************partial of config.h from packages.debian.org***********
* Send bug reports, bug fixes, enhancements, requests, flames, etc., and
* I'll try to keep a version up to date. I can be reached as follows:
* Paul Vixie <paul at vix.com> uunet!decwrl!vixie!paul
*/
/* config.h - configurables for Vixie Cron
*
* $Id: config.h,v 2.6 1994/01/15 20:43:43 vixie Exp $
*/
#if !defined(_PATH_SENDMAIL)
# define _PATH_SENDMAIL "/usr/lib/sendmail"
#endif /*SENDMAIL*/
/*
* these are site-dependent
*/
#ifndef DEBUGGING
#define DEBUGGING 1 /* 1 or 0 -- do you want debugging code built in? */
#endif
/*
* choose one of these MAILCMD commands. I use
* /bin/mail for speed; it makes biff bark but doesn't
* do aliasing. /usr/lib/sendmail does aliasing but is
* a hog for short messages. aliasing is not needed
* if you make use of the MAILTO= feature in crontabs.
* (hint: MAILTO= was added for this reason).
*/
#define MAILCMD _PATH_SENDMAIL /*-*/
#define MAILARGS "%s -FCronDaemon -odi -oem -or0s %s" /*-*/
/* -Fx = set full-name of sender
* -odi = Option Deliverymode Interactive
* -oem = Option Errors Mailedtosender
* -or0s = Option Readtimeout -- don't time out
*/
More information about the MailScanner
mailing list