Я хочу настроить задачу, которая уничтожит все неактивные постоянные комнаты чата на моем сервере eJabberd. Можно ли создать такую задачу?Запланировать задачу для ежедневного запуска на сервере eJabberd?
ответ
ejabberdctl
инструмент командной строки может дать вам MUC команды администрирования доступа, когда модуль mod_muc_admin
включен в ejabberd. Этот модуль доступен по умолчанию, так как ejabberd 15.04.
После активации, вы должны иметь доступ к нескольким командам, чтобы уничтожить MUC номера:
destroy_room
уничтожить конкретную MUC комнатуdestroy_rooms_file
уничтожить список MUC номеров.rooms_unused_destroy
уничтожить все комнаты MUC, которые не использовались в течение N дней.
Список команд доступен в документации ejabberd: Multi User Chat Administration Commands.
Возможно, вы будете использовать команду rooms_unused_destroy
, поскольку она, похоже, делает именно то, что вам нужно.
Что касается планирования задачи, вы должны полагаться на свой инструмент планирования операционной системы, например cron. Вы должны быть осторожны и проверить свою команду вручную в течение нескольких дней перед ее автоматизацией, чтобы избежать какой-либо ошибки.
Вы можете создать задание cron на сервере, если оно запущено linux, чтобы убить все чаты. Я не знаю, какая команда будет для ejabbered, но строка для чего-то вроде ниже. Если вы хотите, чтобы он работал один раз в день.
1 1 * * * service ejabberd restart
минуту
Час
Дни
недели
месяцев
Мой eJabberd sever находится на сервере Ubuntu. Я очень новичок в этом, что такое работа cron? – Lasonic
Это команда, которая запускается в определенное время каждый день. См. 'Man crontab' для быстрого ввода. http://www.unixgeeks.org/security/newbie/unix/cron-1.html – HSchmale
Если моя команда была «service ejabberd restart», как это выглядело бы со всеми пробелами? – Lasonic
Спасибо за ответ. Вы знаете, как включить mod_muc_admin в Unbuntu? Как только я добавлю {mod_muc_admin, []} в мои Модули и перезагружаю мой .cfg, он разбивает сервер. Я запускаю ejabberd 2.1.11 на сервере. – Lasonic
Как уже упоминалось: «Этот модуль доступен по умолчанию, так как ejabberd 15.04.». Вам необходимо установить ejabberd 15.04 и выше. Он не будет работать на ejabberd 2.1, поэтому вам нужно установить ejabberd самостоятельно, чтобы использовать этот модуль. –
Вы не можете. Вам нужно использовать новый ejabberd. –