Hello, Cyrus 2.3.16, single server, single Cyrus instance, 65k users, 460k mailboxes, roughly 4.5 Terabytes of messages. Empty annotations DB. Every weekend, Spam and Trash mailboxes are already pruned using a number of /usr/cyrus/bin/ipurge -f -d 45 -X user/${letter}%/Trash /usr/cyrus/bin/ipurge -f -d 45 -X user/${letter}%/Spam runs. I enabled delayed_expunge on a test address (separate imapd.conf) and have grown accustomed to the mechanism of expunging-but-not- actualy-deleting, listing 'expunge' metadata information and bringing back sets of messages to the live mailbox. The remaining issue now is to carry out the physical removal within a reasonable timeframe. I currently have the following entry in my cyrus.conf : delprune cmd="cyr_expire -E 1" at=0055 which takes about six minutes, every night, to May 13 00:55:11 cyr_expire[21210]: Expunged 0 out of 0 messages from 0 mailboxes May 13 00:55:11 cyr_expire[21210]: duplicate_prune: pruning back 1 days May 13 01:01:45cyr_expire[21210]: duplicate_prune: purged 205245 out of 401016 entries I think I'll have to launch several cyr_expire's one after another or in parallel (will be done during night hours or weekends) to get the job done before production load arrives. Would it be okay to keep the current line and to add a number of entries with the "-a" flag and each working on a subset of mailboxes ? e.g. cmd="cyr_expire -E 1" at=0055 cmd="cyr_expire -E 1 -a -p user/a" at=0115 cmd="cyr_expire -E 1 -a -p user/b" at=0145 cmd="cyr_expire -E 1 -a -p user/c" at=0215 <...> but, since the '-E' appears to be mandatory, how can I avoid re-working the delivery.db ? Are there any other pitfalls I appear to be unaware of ? Regards, Eric Luyten, Computing Centre VUB/ULB. ---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/