Hier mal ein kleines bash script von mir zum überprüfen ob DoorPi läuft oder nicht. Sollte DoorPi nicht laufen wird versucht DoorPi zu starten. Das ganze wird in ein log geschrieben gleichzeitig wird der GPIO21 auf High gesetzt.
Voraussetzung für diese script ist das in der doorpi.ini folgendes eingetragen ist:
Die Pfade müsst Ihr natürlich anpassen.
Hier nun das script:
Bash: doorpi-watchdog
#!/bin/bash
AGE=$(( $(date +%s) - $(date +%s --reference /var/log/doorpi-watchdog.log) ))
if [ ! -d /sys/class/gpio/gpio21 ]; then
echo 21 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio21/direction
fi
if [ "$AGE" -gt 60 ] ;then
echo 0 > /sys/class/gpio/gpio21/value
echo "DoorPi laeuft nicht aber es wird versucht DoorPi neu zu starten"
sudo /etc/init.d/doorpi stop
sleep 3
sudo /etc/init.d/doorpi start
echo "[$(date +"%d-%m-%y %H:%M:%S")] DoorPi wurde neu gestartet" >> /var/log/doorpi-watchdog.log
sleep 5
else
echo "DoorPi laeuft bereits"
echo 1 > /sys/class/gpio/gpio21/value
fi
Alles anzeigen
Das script muß nun wieder ausführbar gemacht werden:
Das ganze per Cronjob alle 5 Min ausführen lassen.
Viel Spass damit.