Hi ! I use this script for casual cleaning of mail directories on Debian. It deletes all files but leaves directories intact. May be someone could find it useful. #!/bin/bash find /var/vmail/ -name '*' -type f -exec rm -v {} \;
As a caution to anyone who might try this and doesn't understand what it's doing, this is no selective cleanup of things, it will wipe out all email and configuration files for every email domain on your server - do NOT just casually run this! If you do, you can restore mailbox config like quota and ISPConfig mail filters by doing a resync in ISPConfig, but any email you previously had will be gone. If that is your intent, and you are running dovecot, a cleaner means of doing that is with doveadm, which will keep all your config files in tact.
I second @Jesse Norell 's concerns, this can be really dangerous. You may use this if you really know what you're doing, but it will e.g. mess upa dovecot's quota calculation. So better not do a cleanup in that way
Thanks for comments. Well, probably I should better describe purpose of this script. My ISPConfig setup runs under KVM / oVirt virtualization manager. After making backup copy I wipe out all messages in mail directories - they have no purpose anymore and only waste disk space. And if backup copy (with mail directories intact) get restored and connected back, there are tons of old duplicate messages flooding mailboxes. BTW, what is a shell command to resync mailboxes and mailfilters from ISPConfig DB? I'll add them to the script to save some time connecting via Web interface. Thanks.
There's no "command line" interface, if anything it would be via the api, and you'd have to write a script to call the resync; I don't know if that's even in the API though (@till would know off the top of his head). What you can do instead is just delete the email with doveadm, eg. try: Code: doveadm expunge -A mailbox '*' all I don't have a system that's safe to test that on right now, but looks like that should be it. Make sure you have iterate_query set in /etc/dovecot/dovecot-sql.conf (which is the default in recent ISPConfig versions).