Pagina 1 di 1

riavvio domoticz in funzione del log

Inviato: 05/02/2018, 9:46
da s_p
buongiorno a tutti

capita, che domoticz mi dia il messaggio di off line, generalmente ogni 2/3 giorni. cercando on line,il problema sembra affliggere anche altri utenti

consultando il domoticz.log in /var/log le ultime righe sono

Codice: Seleziona tutto

2018-02-04 16:59:12.200  Error: Domoticz received fatal signal 6 !...
2018-02-04 16:59:12.321  Error:   /home/pi/domoticz/domoticz() [0x1cdc48]
2018-02-04 16:59:12.321  Error:   /home/pi/domoticz/domoticz(_Z14signal_handleri+0x58) [0x1cdd00]
2018-02-04 16:59:12.321  Error:   /lib/arm-linux-gnueabihf/libc.so.6(__default_sa_restorer_v2+0) [0x76af9180]
2018-02-04 16:59:12.321  Error:   /lib/arm-linux-gnueabihf/libc.so.6(gsignal+0x38) [0x76af7f70]


sul forum ufficiale e github non ho trovato una soluzione, ma solo altre persone che riportano il problema.
la mia domanda è questa: è possibile far controllare ad uno script le ultime righe del domoticz.log ed in caso trovi l'errore di procedere al riavvio del servizio?

mi dareste una mano a realizzarlo?

Re: riavvio domoticz in funzione del log

Inviato: 05/02/2018, 15:53
da miki8989

Re: riavvio domoticz in funzione del log

Inviato: 07/02/2018, 9:26
da s_p
grazie Miki

ho risolto con uno script riportato anche nel wiki.
a beneficio di tutti
create uno script in /var/www/MyScripts e chiamatelo check.sh

Codice: Seleziona tutto

#!/bin/sh
# check domoticz
status=`curl -s -i -H "Accept: application/json" "http://127.0.0.1:8080/json.htm?type=devices&rid=1" | grep "status"| awk -F: '{print $2}'|sed 's/,//'| sed 's/\"//g'`
if [ $status ]
then
echo "Domoticz has already been started"
else
sudo service domoticz.sh stop
sleep 5
sudo service domoticz.sh start
fi


mettete al posto di rid=1 , rid=idx di un device che avete.

salvate e date i permessi chmod +x.

aggiungete al crontab lo script appena creato

Codice: Seleziona tutto

sudo nano /etc/crontab -e


la riga da aggiungere è

Codice: Seleziona tutto

*/1   * * * *   root /var/www/MyScripts/check.sh > dev/null 2>&1


salvate e chiudete

@Flane

si può creare una sezione dove mettere script utili o creati dagli utenti?
potrebbe essere più veloce la soluzione di alcuni problemi