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.


***************************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:


Hardly ideal - but it does at least work. This sort of thing really should be configurable at runtime.


Tim Bishop
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

#define DEBUGGING 1     /* 1 or 0 -- do you want debugging code built in? */

                         * 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