exim_db - program to maintain exim mailer hint databases
exim_dumpdb spooldir database]
exim_tidydb [-t time] [-f] spooldir database
exim_fixdb spooldir database
Three utility programs are provided for maintaining the DBM files that
Exim uses to contain its delivery hint information. Each program
requires two arguments. The first specifies the name of Exim's spool
directory, and the second is the name of the database it is to operate
on. These are as follows:
retry the database of retry information
reject the database of information about rejected messages
the database of information about messages waiting for SMTP
the database of information about current connections to hosts
which are restricted to one connection at once
The entire contents of a database are written to the standard output by
the exim_dumpdb program, which has no options or arguments other than
the spool and database names. For example, to dump the retry database:
exim_dumpdb /var/spool/exim retry
Two lines of output are produced for each entry:
T:mail.ref.book:242.242.242.242 146 77 Connection refused
31-Oct-1995 12:00:12 02-Nov-1995 12:21:39 02-Nov-1995 20:21:39 *
The first item on the first line is the key of the record. It starts
with one of the letters D, R, or T, depending on whether it refers to a
directing, routing, or transport retry. For a local delivery, the next
part is the local address; for a remote delivery it is the name of the
remote host, followed by its failing IP address. Then there follows an
error code, an additional error code, and a textual description of the
The three times on the second line are the time of first failure, the
time of the last delivery attempt, and the computed time for the next
attempt. The line ends with an asterisk if the cutoff time for the
last retry rule has been exceeded.
Each output line from exim_dumpdb for the reject database consists of a
date and time, followed by the letter T or F, followed by the address
that was rejected, followed by the name of the host that sent the bad
address (as given in the SMTP HELO command). The letter is F if only
one previous rejection of this address has been done recently, and T if
a second has occurred, causing rejection of the MAIL FROM command, and
subsequently rejection of the RCPT TO commands.
Each output line from exim_dumpdb for the wait-smtp database consists
of a host name followed by a list of ids for messages that are or were
waiting to be delivered to that host. If there are a very large number
for any one host, continuation records, with a sequence number added to
the host name, may be seen. The data in these records is often out of
date, because a message may be routed to several alternative hosts, and
Exim makes no effort to keep cross references.
Each output line from exim_dumpdb for the serialize-wmtp database consists
of a host name preceded by the time that Exim made a connection
to that host. Exim keeps track of connections only for those hosts or
networks that have been configured for serialization.
The exim_tidydb utility program is used to tidy up the contents of the
databases. If run with no options, it removes all records from a database
that are more than 30 days old. The cutoff date can be altered by
means of the -t option, which must be followed by a time. For example,
to remove all records older than a week from the retry database:
exim_tidydb -t 7d /var/spool/exim retry
For the wait-smtp database , the -f option can also be used (it has no
effect for other databases). This causes a check to be made to ensure
that message ids in database records are those of messages that are
still on the queue. Other message ids are removed, and if this leaves
records empty, they are also removed.
The exim_tidydb utility outputs comments on the standard output whenever
it removes information from the database. It is suggested that it
be run periodically on all three databases, but at a quiet time of day,
since it requires a database to be locked (and therefore inaccessible
to Exim) while it does its work.
The exim_fixdb program is a utility for interactively modifying databases.
Its main use is for testing Exim, but it might also be occasionally
useful for getting round problems in a live system. It has no
options, and its interface is somewhat crude. On entry, it prompts for
input with a > character. A key of a database record can then be
entered, and the data for that record is displayed.
If 'd' is typed at the next prompt, the entire record is deleted. For
the reject, wait-smtp, and serialize-smtp databases, that is the only
operation that can be carried out. For the retry database, each field
is output preceded by a number, and data for individual fields can be
changed by typing the field number followed by new data, for example:
> 4 951102:1000
resets the time of the next delivery attempt. Time values are given as
a sequence of digit pairs for year, month, day, hour, and minute.
Colons can be used as optional separators.
There is extensive documentation available in /usr/share/doc/exim and
in the info system regarding exim. Please be sure to have the exim-doc
This manual page was stitched together by Christoph Lameter <email@example.com> from the original documentation coming with the sourcepackage
for the Debian GNU/Linux system.
[ Back ]