On Thu, 2010-04-01 at 13:54 -0700, Andrew Morgan wrote: > On Thu, 1 Apr 2010, Adam Tauno Williams wrote: > > > On Thu, 2010-04-01 at 19:13 +0200, David Touzeau wrote: > >> Joe Vieira wrote: > >>> if they are all on one partition and nothing else is on that you could > >>> just use df .... > >>> On Thu, 2010-04-01 at 10:28 -0400, David Touzeau wrote: > >>>> This problem occurs when you have more than 50Go mailboxes > >>>> If you launch a "du -h -s /var/spool/cyrus/mail" the server load is on > >>>> top and I/O is at 100% for a long time. > >>>> Is somebody have a tips to get the size status of all maiboxes without > >>>> using du tool even no quota is specified ? > >> Thanks for the reply but the directory is not in a partition it is > >> stored on the master disk with the system. > > > > "du" is essentially useless for Cyrus anyway since duplicate supression > > and delayed expunge make "used disk space" kind of vague. > > > > If you just request the info for a mailbox it contains the mailboxes > > size - > > > > sardine.mormail.com> info user.adam > > {user.adam}: > > condstore: true > > duplicatedeliver: false > > lastpop: > > lastupdate: 1-Apr-2010 16:00:49 -0400 > > partition: default > > pop3newuidl: true > > sharedseen: false > > size: 4276713 > > > > But I can't figure out how cyradm acquires that "size" value. Every > > script I see walks the mailbox and accumulates the message sizes, yet > > cyradm seems to now instantly. Is size available via an annotation? > > Those values are all annotations. The annotation you want is: > > /vendor/cmu/cyrus-imapd/size I suspected as much but haven't had much luck getting a value. import imaplib m = imaplib.IMAP4('imap.mormail.com') m.login(***********************) m.getannotation('user.adam', '"/vendor/cmu/cyrus-imapd/size"', '"*"') ---- ('OK', [None]) m.getannotation('user.adam', '"/vendor/cmu/cyrus-imapd/size"', '"value.shared"') ----('OK', [None]) m.getannotation('user.adam', '/vendor/cmu/cyrus-imapd/size', '"value.shared"') -----('OK', [None]) m.getannotation('user.adam', '/vendor/cmu/cyrus-imapd/size', '("value.shared")') ----('OK', [None]) m.getannotation('user.adam', '/vendor/cmu/cyrus-imapd/size', '(" value.shared")') ----('OK', [None]) Nothing produces a value. Any pointers? There seems to be basically zero documentation about IMAP annotations. ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html