0

我想设置一个任务来销毁我的 eJabberd 服务器上所有不活动的持久聊天室。是否可以设置这样的任务?

4

2 回答 2

2

ejabberdctlmod_muc_admin当在 ejabberd 中启用模块时,命令行工具可以让您访问 MUC 管理命令。该模块自 ejabberd 15.04 起默认可用。

启用后,您应该可以访问多个命令来销毁 MUC 房间:

  • destroy_room摧毁特定的 MUC 房间
  • destroy_rooms_file销毁 MUC 房间列表。
  • rooms_unused_destroy销毁所有 N 天内未使用的 MUC 房间。

命令列表可在 ejabberd 文档中找到:多用户聊天管理命令

您可能会使用 command rooms_unused_destroy,因为它似乎完全符合您的需要。

关于任务的调度,您应该依赖您的操作系统调度工具,例如cron。在自动化命令之前,您应该小心并在几天内手动测试您的命令,以避免任何错误。

于 2015-08-05T10:45:08.747 回答
0

如果服务器正在运行 linux 以杀死所有聊天室,您可以在服务器上创建一个 cron 作业。我不知道 ejabbered 的命令是什么,但类似下面的一行。如果您希望它每天运行一次。

  1 1 * * * service ejabberd restart

分钟
小时


于 2015-08-05T01:23:39.800 回答