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

Материал из MajorDoMo инфо
(Новая страница: «Category:другой СОФТ Запись больше для себя, чтобы в случае ЧП восстановить свои настройки...»)
 
Нет описания правки
 
(не показано 10 промежуточных версий этого же участника)
Строка 2: Строка 2:
Запись больше для себя, чтобы в случае ЧП восстановить свои настройки, но вдруг кому будет полезно.  
Запись больше для себя, чтобы в случае ЧП восстановить свои настройки, но вдруг кому будет полезно.  
Возможно будет обновляться )))
Возможно будет обновляться )))
Для Debian


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


```
<pre>
sudo service mosquitto stop
sudo service mosquitto stop
sudo nano /etc/mosquitto/mosquitto.conf
sudo nano /etc/mosquitto/mosquitto.conf
```
</pre>
Меняю на это  
Меняю на это  
```
<pre>
listener 1883 192.168.9.879
listener 1883 192.168.9.879


Строка 38: Строка 40:


sys_interval 0
sys_interval 0
 
</pre>
```
<pre>
 
```
sudo service mosquitto start
sudo service mosquitto start
```
</pre>




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


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


```
<pre>
sudo service mosquitto stop
sudo service mosquitto stop
sudo rm /var/lib/mosquitto/mosquitto.db
sudo rm /var/lib/mosquitto/mosquitto.db
sudo service mosquitto start
sudo service mosquitto start
```
</pre>


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




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


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


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


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


Строка 77: Строка 78:




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


**sys_interval** *seconds*
'''sys_interval''' ''seconds''


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


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

Текущая версия от 10:14, 6 сентября 2021

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

Для Debian

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

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


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

  • listener 1883 192.168.9.879 - устанавливает порт и IP адрес сервера mosquitto (изменить на свой)
  • 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 2m.
  • persistent_client_expiration 14d
  • persistent_client_expiration 1y.

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

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


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

sys_interval seconds

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

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