diff --git a/archivemail.1 b/archivemail.1 new file mode 100644 index 0000000..481f9f6 --- /dev/null +++ b/archivemail.1 @@ -0,0 +1,328 @@ +.\" This manpage has been automatically generated by docbook2man +.\" from a DocBook document. This tool can be found at: +.\" +.\" Please send any bug reports, improvements, comments, patches, +.\" etc. to Steve Cheng . +.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 +.SH "AUTHOR" +.PP +Paul Rodger