A HUP-nak nem vagyok tagja. Csak amatőr it-s vagyok. Itthon játszom a kis szerveremmel.
#99037 stopperos : Köszi.
Az Ubuntu 20.04.6 szerveren a systemd indítja a mosquitto-t. Kb. minden 2. újrainduláskor a Mqtt nem indul el mert nem találja a mosquitto.log fájlt. És tényleg nincs ott. Meg sem próbál létrehozni egy újat. Ekkor áll majdnem az egész HomeAssistant.
Gondoltam írok egy scriptet ami megnézi a fájlt. Ha nincs csinál és betölti a mqtt, ha van csak betölti. A script működik ha csak lefuttatom. Ha azonban egy service-t csinálok belőle a systemd-nek. Akkor nem működik. Az eredeti mosquitto service-ből csináltam. [Unit]
# Description=Mosquitto MQTT v3.1/v3.1.1 Broker
# Documentation=man:mosquitto.conf(5) man:mosquitto(8)
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
NotifyAccess=main
ExecStart=/bin/bash /opt/my_mosquitto.sh
# ExecReload=/bin/kill -HUP $MAINPID
# Restart=on-failure
[Install]
WantedBy=multi-user.target
Annyit haladtam, hogy a Neten találtam, hogy kevés az EXEC-nek a # /bin/bash a scripben, a parancssorba is be kell írni a parancs elé. Előtte hibára futott, most beleragad és timeout-al később kilövi.
A script:# /bin/bash
if ! test -f /var/log/mosquitto/mosquitto.log; then
echo -n "" > /var/log/mosquitto/mosquitto.log
fi
/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Az amatőrségem, hogy nem mindent értek a service készítésben.
[ Szerkesztve ]