mirror of
https://git.code.sf.net/p/archivemail/code
synced 2024-12-22 15:56:27 +00:00
329 lines
10 KiB
Groff
329 lines
10 KiB
Groff
|
.\" This manpage has been automatically generated by docbook2man
|
||
|
.\" from a DocBook document. This tool can be found at:
|
||
|
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
|
||
|
.\" Please send any bug reports, improvements, comments, patches,
|
||
|
.\" etc. to Steve Cheng <steve@ggi-project.org>.
|
||
|
.TH "ARCHIVEMAIL" "1" "27 June 2006" "SP" ""
|
||
|
|
||
|
.SH NAME
|
||
|
archivemail \- archive and compress your old email
|
||
|
.SH SYNOPSIS
|
||
|
|
||
|
\fBarchivemail\fR [ \fBoptions\fR ] \fB\fIMAILBOX\fB\fR\fI ...\fR
|
||
|
|
||
|
.SH "DESCRIPTION"
|
||
|
.PP
|
||
|
\fBarchivemail\fR is a tool written in \fBpython\fR(1) for archiving and
|
||
|
compressing old email in mailboxes.
|
||
|
.PP
|
||
|
By default it will read the mailbox \fIMAILBOX\fR, moving messages
|
||
|
that are older that the specified number of days (180 by default) to a
|
||
|
\fBmbox\fR-format mailbox in the same directory that is compressed
|
||
|
with \fBgzip\fR(1)\&.
|
||
|
.PP
|
||
|
\fBarchivemail\fR supports reading \fBIMAP\fR,
|
||
|
\fBMaildir\fR, \fBMH\fR and \fBmbox\fR-format
|
||
|
mailboxes, but it will always write archive files to \fBmbox\fR-format
|
||
|
mailboxes that are compressed with \fBgzip\fR(1)\&.
|
||
|
.PP
|
||
|
\fBarchivemail\fR has some support for being run as the root user on
|
||
|
user mailboxes. When running as root, it will \fBseteuid\fR(2) to the owner of the
|
||
|
mailbox it is reading, creating any archive files as that user.
|
||
|
.SH "OPTIONS"
|
||
|
.TP
|
||
|
\fB -d \fINUM\fB, --days=\fINUM\fB\fR
|
||
|
Archive messages older than \fINUM\fR days.
|
||
|
The default is 180. This option is incompatible with the
|
||
|
\fB--date\fR option below.
|
||
|
.TP
|
||
|
\fB -D \fIDATE\fB, --date=\fIDATE\fB\fR
|
||
|
Archive messages older than \fIDATE\fR\&.
|
||
|
\fIDATE\fR can be a date string in ISO format (eg '2002-04-23'),
|
||
|
Internet format (eg '23 Apr 2002') or Internet format with full month names
|
||
|
(eg '23 April 2002'). Two-digit years are not supported.
|
||
|
This option is incompatible with the \fB--days\fR option above.
|
||
|
.TP
|
||
|
\fB -o \fIPATH\fB, --output-dir=\fIPATH\fB\fR
|
||
|
Use the directory name \fIPATH\fR to store the
|
||
|
mailbox archives. The default is the same directory as the mailbox to be
|
||
|
read.
|
||
|
.TP
|
||
|
\fB -s \fINAME\fB, --suffix=\fINAME\fB\fR
|
||
|
Use the suffix \fINAME\fR to create the filename used for archives.
|
||
|
The default is \fI_archive\fR\&. For example, if you
|
||
|
run \fBarchivemail\fR on a mailbox called
|
||
|
\fIexsouthrock\fR, the archive will be created
|
||
|
with the filename \fIexsouthrock_archive.gz\fR\&.
|
||
|
|
||
|
\fINAME\fR is run through the \fBpython\fR(1) \fBtime.strftime()\fR
|
||
|
function, which means that you can specify any of the following special
|
||
|
directives in \fINAME\fR to make archives named after the archive
|
||
|
cut-off date:
|
||
|
.RS
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%a\fR
|
||
|
Locale's abbreviated weekday name.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%A\fR
|
||
|
Locale's full weekday name.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%b\fR
|
||
|
Locale's abbreviated month name.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%B\fR
|
||
|
Locale's full month name.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%c\fR
|
||
|
Locale's appropriate date and time representation.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%d\fR
|
||
|
Day of the month as a decimal number [01,31].
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%H\fR
|
||
|
Hour (24-hour clock) as a decimal number [00,23].
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%I\fR
|
||
|
Hour (12-hour clock) as a decimal number [01,12].
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%j\fR
|
||
|
Day of the year as a decimal number [001,366].
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%m\fR
|
||
|
Month as a decimal number [01,12].
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%M\fR
|
||
|
Minute as a decimal number [00,59].
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%p\fR
|
||
|
Locale's equivalent of either AM or PM.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%S\fR
|
||
|
Second as a decimal number [00,61]. (1)
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%U\fR
|
||
|
Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%w\fR
|
||
|
Weekday as a decimal number [0(Sunday),6].
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%W\fR
|
||
|
Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%x\fR
|
||
|
Locale's appropriate date representation.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%X\fR
|
||
|
Locale's appropriate time representation.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%y\fR
|
||
|
Year without century as a decimal number [00,99].
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%Y\fR
|
||
|
Year with century as a decimal number.
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%Z\fR
|
||
|
Time zone name (or by no characters if no time zone exists).
|
||
|
.TP 0.2i
|
||
|
\(bu
|
||
|
\fB%%\fR
|
||
|
A literal "%" character.
|
||
|
.RE
|
||
|
.TP
|
||
|
\fB -S \fINUM\fB, --size=\fINUM\fB\fR
|
||
|
Only archive messages that are \fINUM\fR bytes or
|
||
|
greater.
|
||
|
.TP
|
||
|
\fB -n, --dry-run\fR
|
||
|
Don't write to any files -- just show what would have been done. This is
|
||
|
useful for testing to see how many messages would have been archived.
|
||
|
.TP
|
||
|
\fB -u, --preserve-unread\fR
|
||
|
Do not archive any messages that have not yet been read. \fBarchivemail\fR
|
||
|
determines if a message in a \fBmbox\fR-format or
|
||
|
\fBMH\fR-format mailbox has been read by looking at the
|
||
|
\fBStatus\fR header (if it exists). If the status
|
||
|
header is equal to 'RO' or 'OR' then \fBarchivemail\fR assumes the
|
||
|
message has been read. \fBarchivemail\fR determines if a
|
||
|
\fBmaildir\fR message has
|
||
|
been read by looking at the filename. If the filename contains an 'S' after
|
||
|
\fI:2,\fR then it assumes the message has been read.
|
||
|
.TP
|
||
|
\fB --delete\fR
|
||
|
Delete rather than archive old mail. Use this option with caution!
|
||
|
.TP
|
||
|
\fB --include-flagged\fR
|
||
|
Normally messages that are flagged important are not archived or deleted. If
|
||
|
you specify this option, these messages can be archived or deleted just like
|
||
|
any other message.
|
||
|
.TP
|
||
|
\fB --no-compress\fR
|
||
|
Do not compress any archives using \fBgzip\fR(1)\&.
|
||
|
.TP
|
||
|
\fB --warn-duplicate\fR
|
||
|
Warn about duplicate \fBMessage-ID\fRs that appear in the input
|
||
|
mailbox.
|
||
|
.TP
|
||
|
\fB -v, --verbose\fR
|
||
|
Reports lots of extra debugging information about what is going on.
|
||
|
.TP
|
||
|
\fB -q, --quiet\fR
|
||
|
Turns on quiet mode. Do not print any statistics about how many messages were
|
||
|
archived. This should be used if you are running \fBarchivemail\fR from
|
||
|
cron.
|
||
|
.TP
|
||
|
\fB -V, --version\fR
|
||
|
Display the version of \fBarchivemail\fR and exit.
|
||
|
.TP
|
||
|
\fB -h, --help\fR
|
||
|
Display brief summary information about how to run \fBarchivemail\fR\&.
|
||
|
.SH "NOTES"
|
||
|
.PP
|
||
|
\fBarchivemail\fR requires \fBpython\fR(1) version 2.0 or later.
|
||
|
.PP
|
||
|
To archive an \fBIMAP\fR-format mailbox, use the the format
|
||
|
\fBimap://username:password@server/mailbox\fR to specify the
|
||
|
mailbox.
|
||
|
.PP
|
||
|
When reading an \fBmbox\fR-format mailbox, \fBarchivemail\fR will
|
||
|
create a lockfile with the extension \fI\&.lock\fR so that
|
||
|
procmail will not deliver to the mailbox while it is being processed. It will
|
||
|
also create an advisory lock on the mailbox using \fBflock\fR(2)\&.
|
||
|
\fBarchivemail\fR will also complain and abort if a 3rd-party modifies the
|
||
|
mailbox while it is being read.
|
||
|
.PP
|
||
|
\fBarchivemail\fR will always attempt to preserve the mode,
|
||
|
last-access and last-modify times of the input mailbox. However, archive
|
||
|
mailboxes are always created with a mode of \fB0600\fR\&.
|
||
|
.PP
|
||
|
If \fBarchivemail\fR finds a pre-existing archive mailbox it
|
||
|
will append rather than overwrite that archive.
|
||
|
.PP
|
||
|
\fBarchivemail\fR attempts to find the delivery date of a message by
|
||
|
looking for valid dates in the following headers, in order of precedence:
|
||
|
\fBDelivery-date\fR,
|
||
|
\fBDate\fR and
|
||
|
\fBResent-Date\fR\&.
|
||
|
If it cannot find any valid date in these headers, it
|
||
|
will use the last-modified file timestamp on \fBMH\fR and
|
||
|
\fBMaildir\fR format mailboxes, or the date on the
|
||
|
\fBFrom\fR line on \fBmbox\fR-format mailboxes.
|
||
|
.PP
|
||
|
\fBarchivemail\fR will refuse to operate on mailboxes that are symbolic
|
||
|
links or create tempfiles or archives in world-writable directories.
|
||
|
.SH "EXAMPLES"
|
||
|
.PP
|
||
|
To archive all messages in the mailbox \fIdebian-user\fR that
|
||
|
are older than 180 days to a compressed mailbox called
|
||
|
\fIdebian-user_archive.gz\fR in the current directory:
|
||
|
|
||
|
.nf
|
||
|
bash$ \fBarchivemail debian-user\fR
|
||
|
.fi
|
||
|
.PP
|
||
|
To archive all messages in the mailbox \fIdebian-user\fR that
|
||
|
are older than 180 days to a compressed mailbox called
|
||
|
\fIdebian-user_October_2001.gz\fR (where the current month and
|
||
|
year is April, 2002) in the current directory:
|
||
|
|
||
|
.nf
|
||
|
bash$ \fBarchivemail --suffix '_%B_%Y' debian-user\fR
|
||
|
.fi
|
||
|
.PP
|
||
|
To archive all messages in the mailbox \fIcm-melb\fR that
|
||
|
are older than the first of January 2002 to a compressed mailbox called
|
||
|
\fIcm-melb_archive.gz\fR in the current directory:
|
||
|
|
||
|
.nf
|
||
|
bash$ \fBarchivemail --date'1 Jan 2002' cm-melb\fR
|
||
|
.fi
|
||
|
.PP
|
||
|
Exactly the same as the above example, using an ISO date format instead:
|
||
|
|
||
|
.nf
|
||
|
bash$ \fBarchivemail --date=2002-01-01 cm-melb\fR
|
||
|
.fi
|
||
|
.PP
|
||
|
To delete all messages in the mailbox \fIspam\fR that
|
||
|
are older than 30 days:
|
||
|
|
||
|
.nf
|
||
|
bash$ \fBarchivemail --delete --days=30 spam\fR
|
||
|
.fi
|
||
|
.PP
|
||
|
To archive all read messages in the mailbox \fIincoming\fR that
|
||
|
are older than 180 days to a compressed mailbox called
|
||
|
\fIincoming_archive.gz\fR in the current directory:
|
||
|
|
||
|
.nf
|
||
|
bash$ \fBarchivemail --preserve-unread incoming\fR
|
||
|
.fi
|
||
|
.PP
|
||
|
To archive all messages in the mailbox \fIreceived\fR that
|
||
|
are older than 180 days to an uncompressed mailbox called
|
||
|
\fIreceived_archive\fR in the current directory:
|
||
|
|
||
|
.nf
|
||
|
bash$ \fBarchivemail --no-compress received\fR
|
||
|
.fi
|
||
|
.PP
|
||
|
To archive all mailboxes in the directory \fI$HOME/Mail\fR
|
||
|
that are older than 90 days to compressed mailboxes in the
|
||
|
\fI$HOME/Mail/Archive\fR directory:
|
||
|
|
||
|
.nf
|
||
|
bash$ \fBarchivemail -d90 -o $HOME/Mail/Archive $HOME/Mail/*\fR
|
||
|
.fi
|
||
|
.SH "TIPS"
|
||
|
.PP
|
||
|
Probably the best way to run \fBarchivemail\fR is from your \fBcrontab\fR(5)
|
||
|
file, using the \fB--quiet\fR option.
|
||
|
.PP
|
||
|
Don't forget to try the \fB--dry-run\fR option for non-destructive
|
||
|
testing.
|
||
|
.SH "EXIT STATUS"
|
||
|
.PP
|
||
|
Normally the exit status is 0. Nonzero indicates an unexpected error.
|
||
|
.SH "BUGS"
|
||
|
.PP
|
||
|
There is no support yet for reading \fBMMDF\fR or
|
||
|
\fBBabyl\fR-format mailboxes. In fact, \fBarchivemail\fR will
|
||
|
probably think it is reading an \fBmbox\fR-format mailbox and cause
|
||
|
all sorts of problems.
|
||
|
.PP
|
||
|
\fBarchivemail\fR is still too slow, but if you are running from \fBcrontab\fR(5)
|
||
|
you won't care. Archiving \fBmaildir\fR-format mailboxes should be
|
||
|
a lot quicker than \fBmbox\fR-format mailboxes since it is less
|
||
|
painful for the original mailbox to be reconstructed after selective message
|
||
|
removal.
|
||
|
.SH "SEE ALSO"
|
||
|
|
||
|
\fBpython\fR(1), \fBgzip\fR(1), \fBmutt\fR(1), \fBprocmail\fR(1)
|
||
|
.SH "URL"
|
||
|
.PP
|
||
|
The \fBarchivemail\fR home page is currently hosted at
|
||
|
sourceforge <URL:http://archivemail.sourceforge.net>
|
||
|
.SH "AUTHOR"
|
||
|
.PP
|
||
|
Paul Rodger <paul at paulrodger dot com>
|