summaryrefslogtreecommitdiff
path: root/network/exim/manpages/exim_db.8
diff options
context:
space:
mode:
Diffstat (limited to 'network/exim/manpages/exim_db.8')
-rw-r--r--network/exim/manpages/exim_db.8168
1 files changed, 168 insertions, 0 deletions
diff --git a/network/exim/manpages/exim_db.8 b/network/exim/manpages/exim_db.8
new file mode 100644
index 0000000000..f0ea021dc4
--- /dev/null
+++ b/network/exim/manpages/exim_db.8
@@ -0,0 +1,168 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH EXIM_DB 8 "March 26, 2003"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.\" \(oqthis text is enclosed in single quotes\(cq
+.\" \(lqthis text is enclosed in double quotes\(rq
+.SH NAME
+exim_db \- Manage Exim's hint databases (exim_dumpdb, exim_fixdb, exim_tidydb)
+.SH SYNOPSIS
+.B exim_dumpdb
+.I spooldir database
+.br
+.B exim_fixdb
+.I spooldir database
+.br
+.B exim_tidydb
+.I [\-f] [\-t time] spooldir database
+
+.SH DESCRIPTION
+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:
+.TP
+.B retry
+the database of retry information
+.TP
+.B wait\-<transport name>
+databases of information about messages waiting for remote hosts
+.TP
+.B misc
+other hints data (for example, for serializing ETRN runs)
+.P
+The entire contents of a database are written to the standard output by the
+.B exim_dumpdb
+program, which has no options or arguments other than the spool
+and database names.
+For example, to dump the retry database:
+
+.I exim_dumpdb /var/spool/exim retry
+
+Two lines of output are produced for each entry:
+.nf
+ T:mail.ref.example:192.168.242.242 146 77 Connection refused
+ 31-Oct-1995 12:00:12 02-Nov-1995 12:21:39 02-Nov-1995 20:21:39 *
+
+.fi
+The first item on the first line is the key of the record.
+It starts with one of the letters R, or T, depending on whether it refers
+to a 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 (unless \(lqno_retry_include_ip_address\(rq is set on the smtp
+transport).
+Then there follows an error code, an additional error code, and a
+textual description of the error.
+
+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
+.B exim_dumpdb
+for the
+.I wait\-xxx
+databases 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.
+
+The
+.B exim_tidydb
+utility program is used to tidy up the contents of the hints 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:
+
+.I exim_tidydb \-t 7d /var/spool/exim retry
+
+Both the
+.I wait\-xxx
+and
+.I retry
+databases contain items that involve message ids.
+In the former these appear as data in records keyed by host - they were
+messages that were waiting for that host - and in the latter they are the
+keys for retry information for messages that have suffered certain types
+of error.
+When \(lqexim_tidydb\(rq is run, a check is made to ensure that message ids in
+database records are those of messages that are still on the queue.
+Message ids for messages that no longer exist are removed from \(lqwait\-\(rqxxx
+records, and if this leaves any records empty, they are deleted.
+For the \(lqretry\(rq database, records whose keys are non-existent message
+ids are removed.
+The
+.B exim_tidydb
+utility outputs comments on the standard output whenever it removes
+information from the database.
+
+Removing records from a DBM file does not normally make the file smaller, but
+all the common DBM libraries are able to re-use the space that is released.
+It is therefore suggested that
+.B exim_tidydb
+be run periodically on all the hints databases, but at a quiet time of day,
+because it requires a database to be locked (and therefore inaccessible to
+Exim) while it does its work.
+
+The
+.B 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 right angle-bracket.
+A key of a database record can then be entered, and the data for that
+record is displayed.
+
+If \(oqd\(cq is typed at the next prompt, the entire record is deleted.
+For all except the
+.I retry
+database, that is the only operation that can be carried out.
+For the
+.I 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.
+
+.SH BUGS
+This manual page needs a major re-work. If somebody knows better groff
+than us and has more experience in writing manual pages, any patches
+would be greatly appreciated.
+
+.SH SEE ALSO
+.BR exim (8)
+
+.SH AUTHOR
+This manual page was stitched together from spec.txt by
+Andreas Metzler <ametzler at downhill.at.eu.org>,
+for the Debian GNU/Linux system (but may be used by others).