dbmail-util8
Maintains the integrity and cleanliness of the dbmail datatables.
Usage
dbmail-util [options]
--all-checks
dbmail-util [options]
--test-integrity
dbmail-util [options]
--check-body
dbmail-util [options]
--purge-deleted
dbmail-util [options]
--set-deleted
dbmail-util [options]
--clear-replycache
time
dbmail-util [options]
--clear-iplog
time
dbmail-util [options]
--rehash
Overview
The dbmail-util program offers a database cleanup and integrity check. All messages set for deletion (status 2) will be marked for final deletion (status 3). All message marked for final deletion will be cleared from the database. The integrity check will check for unconnected mimeparts, headervalues, messages and mailboxes.
By default, checks are read-only. Pass the --no option to respond no to any prompts. Pass the --yes option to make read-write changes, responding yes to any prompts.
Options
-
-b, --check-body -
Check and rebuild the body/header/envelope cache tables.
-
-d, --set-deleted -
Queue all messages marked with the DELETE (2) status for final purging, by setting the status value to PURGE (3). The status field is set to DELETE by either the IMAP-EXPUNGE or POP3-DELE commands.
-
-p, --purge-deleted -
Remove all messages with a PURGE (3) value on status field. To purge messages currently marked with the DELETE (2) status, run with the -pd options twice. This is not recommended; it is better to leave a grace period for old messages before permanently wiping them from the database.
-
-s, --remove-invalid-aliases -
Remove dangling/invalid aliases and forwards.
-
-t, --test-integrity -
Test for message integrity.
-
-a, --all-checks -
Perform the above checks: --check-body --set-deleted --purge-deleted --remove-invalid-aliases --test-integrity
-
-r, --clear-replycache time -
Clear the reply cache used for autoreplies and Sieve vacations. The time is specified as <hours>h<minutes>m (don’t include the angle brackets, though!).
-
-l, --clear-iplog time -
Clear the IP log used for IMAP/POP-before-SMTP. The time is specified as <hours>h<minutes>m (don’t include the angle brackets, though!).
-
--rehash -
Rebuild hash keys for stored messages
-
--erase days -
Delete messages older than date in INBOX/Trash
-
--move days -
Move messages from INBOX to INBOX/Trash
-
--inbox name -
Inbox folder to move from, used in conjunction with --move
-
--trash name -
Trash folder to move to, used in conjunction with --move
Common options
-
-n, --no -
Show the intended repairs without making any changes, i.e. no to all.
-
-y, --yes -
Perform all repair actions , i.e. yes to all.
Maintenance options
-
--rehash -
Rebuild the hash values for all the message parts in the database. You need to run this after modifying the hash_algorithm config option.
-
-e, --check-empty-cache -
Check for empty envelope cache.
Migration options
-
-M, --migrate-legacy limit -
migrate legacy 2.2.x messageblks to mimeparts table.
-
-m, --migrate-limit limit -
limit migration to [limit] number of physmessages. Default 10000 per run.
Options
-
-f, --config configfile -
Specify an alternate config file.
Use dbmail-<utility> --help to show the default location.
-
-q, --quiet -
Quietly skip interactive prompts and helpful status messages which would otherwise be printed to stdout. Use two -q’s to silence errors which would otherwise be printed to stderr.
-
-v, --verbose -
Operate verbosely. Some of the utilities in the DBMail suite can take two -v’s for extra verbosity. Those which don’t understand this convention won’t complain about having the extra -v and will simply operate at their normal verbosity.
-
-V, --version -
Show the version and copyright, then exit.
-
-h, --help -
Show a brief summary of options, then exit.
Return values
Returns 3 when errors are found but could not be fixed due to failure, 2 when errors are found but -y was not provided or -n was provided, 1 when errors are found and fixed successfully, 0 when no errors are found.
Examples
Regular maintenance can be run as a regular cron job:
dbmail-util --all --yes --verbose
To set all messages with the DELETE status to PURGE status, and permanently remove all messages previously set to PURGE status:
dbmail-util --set-deleted --purge-deleted -yes
To get a listing of the changes that would be performed for all actions:
dbmail-util --all --no
To remove all IP log entries more than three days old:
dbmail-util --clear-iplog 72h --yes
After upgrading from DBMail 2.0 or truncating the cache tables, run this command to populate the cache:
dbmail-util --check-body --yes
Author(s)
DBMail is a collaborative effort among the core developers listed below and the tremendous help of the testers, patchers and bug hunters listed in the AUTHORS and THANKS files found in the DBMail source distribution.
Alan Hicks Persistent Objects Ltd https://p-o.co.uk Eelco van Beek Aaron Stone Paul J Stevens Roel Rozendaal Open Source Engineer NFG Net Facilities Group BV Ilja Booij Palo Alto, CA USA http://www.nfg.nl IC&S http://www.ic-s.nl
Notes
- 1.
-
DBMail announce mailing list
https://dbmail.org/wws/info/dbmail-announce/
- 2.
-
DBMail general mailing list
https://dbmail.org/wws/info/dbmail-general/
- 3.
-
DBMail Bug Tracker
https://github.com/dbmail/dbmail/issues
Releases
3 releases since Debian 5.0 (Lenny); the text changed 1 time.
--all-checks since Arch Linux 2026-11-01;
--check-body since Arch Linux 2026-11-01;
--check-empty-cache since Arch Linux 2026-11-01;
--clear-iplog since Arch Linux 2026-11-01;
--clear-replycache since Arch Linux 2026-11-01;
--config since Arch Linux 2026-11-01;
--erase since Arch Linux 2026-11-01;
--help since Arch Linux 2026-11-01;
--inbox since Arch Linux 2026-11-01;
--migrate-legacy since Arch Linux 2026-11-01;
--migrate-limit since Arch Linux 2026-11-01;
--move since Arch Linux 2026-11-01;
--no since Arch Linux 2026-11-01;
--purge-deleted since Arch Linux 2026-11-01;
--quiet since Arch Linux 2026-11-01;
--rehash since Arch Linux 2026-11-01;
--remove-invalid-aliases since Arch Linux 2026-11-01;
--set-deleted since Arch Linux 2026-11-01;
--test-integrity since Arch Linux 2026-11-01;
--trash since Arch Linux 2026-11-01;
--verbose since Arch Linux 2026-11-01;
--version since Arch Linux 2026-11-01;
--yes since Arch Linux 2026-11-01;
-M since Arch Linux 2026-11-01;
-e since Arch Linux 2026-11-01;
-m since Arch Linux 2026-11-01.
-c until Debian 6.0 (Squeeze);
-i until Debian 6.0 (Squeeze);
-u until Debian 6.0 (Squeeze).