Моя настройка mosquitto MQTT: различия между версиями

Материал из MajorDoMo инфо
Нет описания правки
Нет описания правки
Строка 45: Строка 45:


Теперь чем мой файл отличается от общепринятых.  
Теперь чем мой файл отличается от общепринятых.  
**persistent_client_expiration 14d** - Удаляет топики, если клиент не подключался более 14 дней
*persistent_client_expiration 14d - Удаляет топики, если клиент не подключался более 14 дней
**autosave_interval 0** - база данных топиков хранится в памяти и скидывается на винт только при перезагрузке.
*autosave_interval 0 - база данных топиков хранится в памяти и скидывается на винт только при перезагрузке.
**sys_interval 0** - отключаю логи
*sys_interval 0 - отключаю логи


PS: полность очистить mqtt базу в Linux
PS: полность очистить mqtt базу в Linux

Версия от 09:54, 6 сентября 2021

Запись больше для себя, чтобы в случае ЧП восстановить свои настройки, но вдруг кому будет полезно. Возможно будет обновляться )))

Итак поехали.

sudo service mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf

Меняю на это

listener 1883 192.168.9.879

#persistence false
persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
autosave_interval 0
persistent_client_expiration 14d

log_dest none

#log_dest syslog
#log_dest stdout
#log_dest topic
#log_type error
#log_type warning
#log_type notice
#log_type information

log_type none
connection_messages true
log_timestamp true
allow_anonymous false
#password_file /etc/mosquitto/pwfile
password_file /etc/mosquitto/passwd

sys_interval 0
sudo service mosquitto start


Теперь чем мой файл отличается от общепринятых.

  • persistent_client_expiration 14d - Удаляет топики, если клиент не подключался более 14 дней
  • autosave_interval 0 - база данных топиков хранится в памяти и скидывается на винт только при перезагрузке.
  • sys_interval 0 - отключаю логи

PS: полность очистить mqtt базу в Linux

sudo service mosquitto stop
sudo rm /var/lib/mosquitto/mosquitto.db
sudo service mosquitto start

Ниже скопировано с оффициального сайта москито и переведено онлайн переводчиком


    • persistent_client_expiration** *duration*

Этот параметр позволяет удалять постоянных клиентов (тех, у которых для чистого сеанса установлено значение false), если они не подключаются повторно в течение определенного периода времени. Это нестандартный вариант. Что касается спецификации MQTT, постоянные клиенты сохраняются вечно.

Плохо спроектированные клиенты могут установить для чистого сеанса значение false при использовании случайно сгенерированного идентификатора клиента. Это приводит к постоянным клиентам, которые никогда не будут подключаться повторно. Эта опция позволяет удалить этих клиентов.

Срок действия должен быть целым числом, за которым следует одно из значений hdwmy для часа, дня, недели, месяца и года соответственно. Например:

persistent_client_expiration 2 мин. persistent_client_expiration 14d persistent_client_expiration 1 г. Поскольку это нестандартный вариант, по умолчанию, если он не установлен, постоянные клиенты никогда не истекают.

Эта опция применяется глобально.


    • autosave_interval** *seconds*

Количество секунд, в течение которых mosquitto будет ждать между каждым сохранением базы данных в памяти на диск. Если установлено значение 0, база данных в памяти будет сохранена только при выходе Mosquitto или при получении сигнала SIGUSR1. Обратите внимание, что этот параметр действует только в том случае, если включено сохранение. По умолчанию 1800 секунд (30 минут).

    • sys_interval** *seconds*

Установка этого значения в ноль отключит публикацию иерархии. По умолчанию интервал составляет 10 секунд.

Используйте **«log_dest none»**, если хотите отключить ведение журнала. По умолчанию stderr. Этот параметр можно указывать несколько раз.