【发布时间】:2015-08-05 01:18:42
【问题描述】:
我想设置一个任务来销毁我的 eJabberd 服务器上所有不活动的持久聊天室。是否可以设置这样的任务?
【问题讨论】:
我想设置一个任务来销毁我的 eJabberd 服务器上所有不活动的持久聊天室。是否可以设置这样的任务?
【问题讨论】:
ejabberdctl 命令行工具可以在 ejabberd 中启用模块 mod_muc_admin 时为您提供 MUC 管理命令访问权限。该模块自 ejabberd 15.04 起默认可用。
启用后,您应该可以访问多个命令来销毁 MUC 房间:
destroy_room 销毁特定的 MUC 房间destroy_rooms_file 销毁 MUC 房间列表。rooms_unused_destroy销毁所有N天未使用的MUC房间。ejabberd 文档中提供了命令列表:Multi User Chat Administration Commands。
您可能会使用命令rooms_unused_destroy,因为它似乎完全符合您的需要。
关于任务的调度,你应该依赖你的操作系统调度工具,例如cron。在自动执行命令之前,您应该小心并在几天内手动测试您的命令,以避免任何错误。
【讨论】:
如果服务器正在运行 linux,您可以在服务器上创建一个 cron 作业来杀死所有聊天室。我不知道 ejabbered 的命令是什么,但类似下面的一行。如果您希望它每天运行一次。
1 1 * * * service ejabberd restart
分钟
小时
天
周
月
【讨论】:
man crontab。 unixgeeks.org/security/newbie/unix/cron-1.html