在 eJabberd 服务器上每天安排任务 运行?

Schedule a task to run daily on eJabberd server?

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

如果 运行宁 linux 关闭所有聊天室,您可以在服务器上创建一个 cron 作业。我不知道 ejabbered 的命令是什么,但是像下面这样的一行。如果您希望每天 运行 一次。

  1 1 * * * service ejabberd restart

分钟
小时


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。您应该小心并在自动化之前的几天内手动测试您的命令,以避免任何错误。