On Fri, 17 Feb 2012 01:28:28 +0200 Timo Sirainen <tss@iki.fi> wrote:
On 17.2.2012, at 0.39, Przemysław Orzechowski wrote:
I need to delete old mails from over 100 mailboxes with average of 10k mails / mailbox Is there a way to delete old mails (by message date not file creation date) as with doveadm in dovecot 2 ?
You can delete them by mtime or by ctime:
http://wiki.dovecot.org/Plugins/Expire#v1.0_cronjob_equivalent
If by "message date" you mean the Date: header, then there's no easy way.
Would something like the following work for the date header?
#!/bin/bash for msg in *; do if b4.py $msg 20080216; then rm $msg fi done
#!/usr/bin/python
datestring = get_dateline() ## FIND DATE HDR AND RETURN THE STRING yyyymmdd = format2yyyymmdd(datestring) ## CONVERT TO YYYYMMDD if yyyymmdd < sys.argv[1]: sys.exit(0) else: sys.exit(1)
In the preceding, would the deletions mess up maildir indices?
Thanks
SteveT