How to remove ca. 30K spam accounts?

Hi,
Some days ago spam bots was create about 30K accounts. Is this possible remove these accounts not separately, but at once?

A way to delete accounts

A way to delete accounts programatically is in the shell: ejabberdctl delete_account. But that would be too slow for 30.000 accounts.

A faster method can be to install mod_admin_extra, and call: ejabberdctl delete_old_users_vhost. This will "Delete users that didn't log in last days in vhost".

re

Thanks,
I was try do this, but I have one problem. I was get modules from svn and try install module mod_admin_extra: ./build, copy mod_admin_extra.beam to /usr/lib/ejabberd/ebin/ and added {mod_admin_extra, []}, to config. After restart I don't have additional commands in ejabberdctl and log say:

=ERROR REPORT==== 2010-02-09 19:47:19 ===
E(<0.1254.0>:gen_mod:66) : {undef,
[{ejabberd_commands,register_commands,
[[{ejabberd_commands,compile,
[erlang],
"Recompile and reload Erlang source code file",
[],mod_admin_extra,compile,
[{file,string}],
{res,rescode}},
{ejabberd_commands,load_config,
[server],
"Load ejabberd configuration file",[],
mod_admin_extra,load_config,
[{file,string}],
{res,rescode}},
{ejabberd_commands,get_cookie,
[erlang],
"Get the Erlang cookie of this node",[],
mod_admin_extra,get_cookie,[],
{cookie,string}},
{ejabberd_commands,remove_node,
etc...

What I'm doing wrong?

solved

I think mod_admin_extra plugin is for ejabberd build from svn (trunk) and they not working. So I was used mod_ctlextra and option delete-older-users. If someone not used my jabber serwer within 3 monts, then will not angry if they account was removed :)

thanks

Syndicate content