King0770-Notes-Nuking everything in a folder

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

King Notes nuking everything in a folder

This comes up once in a while in support; someone has thousands or millions of items in a folder, and they need to nuke the folder now.

Usually, the command to nuke everything in a folder is:

zmmailbox -z -m user01@domain.com ef /MyStuff

However, if the folder actually has "millions" of items in it, you may be inclined to remove 100 items at a time, and let the script run until all the items are removed.

Example:


#!/bin/bash

for msg in `zmmailbox -z -m user01@domain.com search -l 100 "in:MyStuff" | grep conv | awk '{ print $2 }' | sed -e 's/^-//'`
  do
echo "Removing "$msg""
zmmailbox -z -m user01@domain.com dm $msg
done

You can also query against mysql in a for-loop, to remove 1000 messages at a time.

e.g.

for i in `mysql mboxgroup71 -NBe "select id from mail_item where mailbox_id='3871' AND folder_id='2' LIMIT 1000;"`; do zmmailbox -z -m user@example.com deleteMessage $i; done

You will need to know how the zimbra account is structured, see https://wiki.zimbra.com/wiki/Account_mailbox_database_structure


Notable bugs:
http://bugzilla.zimbra.com/show_bug.cgi?id=38473

Jump to: navigation, search