leider hatte ich manchmal (wenn auch nicht häufig) das Problem das sich mein IPS aufgehängt hat.
Hier eine relativ einfach Lösung um zu Prüfen ob die Scripte und Timer von IPS noch arbeiten.
Ich prüfe das alle 15 Minuten um nicht meine SD Karte tot zu schreiben aber kürzere Intervalle sind natürlich möglich.
Es wird alle 14 Minuten eine Datei erstellt von Script im IPS
-> /usr/share/symcon/scripts/update.txt
Es läuft ein Cronjob alle 15 Minuten welcher prüft ob die Datei älter als 15 Minuten ist.
Wenn die Datei älter ist wird ein einfacher reboot durchgeführt.
Installation:
Im IPS ein Script anlegen mit einem Timer alle 14 Minuten
<?
$ergebniss= exec('touch update.txt');
?>
Eine Datei /usr/share/symcon/scripts/watchdog.sh anlegen mit folgendem Inhalt:
#!/bin/bash
#Variablenzuordnung
Datei=/usr/share/symcon/scripts/update.txt
TNOW=$(date "+%s");
cd /usr/share/symcon/scripts/
if [ -e $Datei ];
then
TDATEI=$(stat -c %Z $Datei);
TNOW=$(date "+%s");
DATEIALTER=$(($TNOW - $TDATEI));
if [ $DATEIALTER -gt 900 ];
then
echo mache reboot;
reboot;
sudo reboot;
sudo reboot
fi
else
echo $Datei existiert nicht;
fi
Mit dem normalen reboot Kommando wollte er nicht deshalb auf 3 Schreibweisen
Die Datei ausführbar machen auf der Linux Conole
chmod 777 /usr/share/symcon/scripts/watchdog.sh
Hatte heute auch um ca 5:03 Uhr einen Absturz von IPS auf meinem OdroidC1, keine Ahnung warum.
Hach einen Restart von IPS hingen sofort einige PHP’s, und ich habe nicht weiter gesucht…
Danach rebbot und lief wieder.
War zum ersten mal, und habe jetzt mal deine Idee aufgegriffen und eingebaut.
Mal sehen wann es zuschlägt.
Habe das etwas kürzer gemacht, da ich / von einer externen USB Festpatte laufen lasse.
Hi freut mich zu hören :-). Eventuell kann man sogar noch etwas in die Log schreiben oder eine EMail versenden.
Ooer einfach beim Systemstart von IPS eine Mail verschicken lassen dann weiß man genau wann was passiert ist.
Ich habe das Problem, dass IPS zwar einen Autostart hat, aber das Programm nicht richtig lädt. Erst nachdem ich IPS stoppe und erneut starte kann ich mit der Konsole auf IPS zugreifen.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Mar 6 17:10:56 2016
pi@raspberrypi:~ $ sudo /etc/init.d/symcon start
IP-Symcon is already running
pi@raspberrypi:~ $ sudo /etc/init.d/symcon stop
IP-Symcon stopped
pi@raspberrypi:~ $ sudo /etc/init.d/symcon start
IP-Symcon started with PID 763
Man muss also auf Linux-Ebene einen Watchdog Daemon aktivieren. Der Rest ist, wie in diesem Thema weiter oben beschrieben.
Diese Lösung wäre einfach eine Spur ressourcenschonender und ausfallsicherer.
Läuft bei mir bis jetzt problemlos.
Nur eine kleine Warnung: die Sache wird etwas heikel, wenn die überwachte Datei mal nicht mehr getoucht wird. Im schlimmsten Fall startet der Raspi dann alle 10 Sekunden neu - zu kurz, um den Teufelskreis zu unterbrechen.
Ausweg: die SDcard an einen Linux-Rechner anschliessen und dort die überwachte Datei mit einem neuen Zeitstempel versehen. Dann hat man 10 Minuten Zeit, den IPS-Raspi neu zu starten und den Watchdog abzuschalten.
Es hat alles seine Schattenseiten…