Moskito - Broker startet nicht mit der Persistenzkonfiguration

7

mosquitto scheint die folgenden Optionen für die Persistenz nicht zu mögen.

# Persistence configuration
persistence true
persistence_location /data/qos/
persistent_client_expiration 8h

Das /data/qosexistiert und Berechtigungen wurden festgelegt.

sudo chown mosquitto:mosquitto /data/qos

Die Optionen für die Persistenzkonfiguration befinden sich in einer Datei persist.confim /etc/mosquitto/conf.dVerzeichnis. Vor dem Kopieren stoppe ich den Broker und starte ihn erneut, nachdem ich mit folgenden Befehlen kopiert habe:

sudo service mosquitto stop
sudo service mosquitto start

Das /var/log/mosquitto/mosquitto.loggibt keinen Hinweis darauf, was das Problem sein könnte.

Was ist also falsch an den oben angegebenen Optionen für die Persistenz?

Cogito ergo sum
quelle
Was passiert, wenn Sie den Dienst beenden und manuell startensu mosquitto -c mosquitto -c /etc/mosquitto/mosquitto.conf
hardillb
Sind Sie auch sicher, dass es nicht startet oder dass die Persistenzdatei beim Start nicht erstellt wird?
Hardillb
@hardillb Ich erinnere mich, dass ich mosquittoerfolgreich mit /usr/bin/mosquitto -c /etc/mosquitto/mosquitto.confdh ohne den Switch-Benutzer angefangen habe . Ja, mosquittonie angefangen; In sind keine Prozesse aufgeführt ps -ef | grep mosq. Übrigens, was ist das Verfahren im Allgemeinen? Broker stoppen, .confDateien in /etc/mosquitto/conf.dOrdner kopieren und dann Broker starten?
Cogitoergosum

Antworten:

3

Wie oben im Beitrag erwähnt, die Persistenz - Konfigurationsoptionen wurden in einer separaten Datei zur Verfügung gestellt - persist.confunter platziert /etc/mosquitto/conf.dVerzeichnis. Allerdings gibt es Persistenzoptionen bereits in /etc/mosquitto/mosquitto.conf. Nachdem ich diese entfernt hatte, gingen die Einstellungen persist.confdurch.

Es wäre schön gewesen mosquitto, vor solchen Konflikten zu warnen.

Cogito ergo sum
quelle
Mosquitto kennzeichnet doppelte Werte, wenn es nicht startet (zumindest bei v1.4.x)Error: Duplicate persistence_file value in configuration.
hardillb
Hmm ... ich glaube ich bin bei 1.4, da ich die kompilierte Version von Websockets von Ubuntu ppa haben wollte. Erinnere dich nicht an diese Nachricht. Vielleicht habe ich verpasst?
Cogitoergosum