Installation d'un watchdog sur la Raspberry

Installation d'un watchdog sur la Raspberry

Installation d'un watchdog sur la Raspberry

Un watchdog permet de mettre en place une surveillance du système pour vérifier qu'il n'est pas planté ou bloqué.
100% Complete

Objectifs pédagogiques

Faire en sorte que si le programme python se plante, la Raspberry Pi reboot.

Un Watchdog est un processus permettant de rebooter la raspberry lorsqu'elle ne répond plus au bout d'un certain temps.

On initialise un watchdog en lui donnant un temps à décompter. Si le temps est écoulé il reboot la Raspberry. Il est possible de remettre à 0 le décompte, on dit alors qu'on "nourri" le watchdog.

Attention, une fois le watchdog démarré, il n'est pas possible de le reconfigurer ou d'en changer la valeur.

Installation du daemon watchdog

sudo apt-get install watchdog

sudo update-rc.d watchdog defaults

Configuration du watchdog

sudo vi /etc/watchdog.conf

A la fin du fichier, ajouter :

# Mise en route du watchdog ************************************************

# il attend 300 secondes (5 minutes)

watchdog-device  = /dev/watchdog

file = /var/log/calendar.log

change = 300

Cette configuration va faire en sorte que le watchdog va rebooter la machine s'il ne détecte pas de mise à jour du fichier /var/log/calendar.log pendant 300 secondes (5 minutes).

Attention : en cas d’arrêt manuel du script python, la Raspberry rebootera également !

Création d'un fichier de log et attribution des droits

Il faut que notre programme puisse écrire dans le fichier de log en ayant les bon droits. Nous allons donc créer un fichier vide et lui donner les droits pour que l'utilisateur pi puisse écrire de dans.

sudo touch /var/log/calendar.log

sudo chown pi.pi /var/log/calendar.log

Relancer le script python au reboot de la Raspberry

sudo crontab -e

et en fin de fichier, rajouter la ligne :

@reboot /etc/python3 /home/pi/calendar2/bluetoothDevicesCheck.py 

Relancer le service du watchdog :

sudo service watchdog restart

Copyright © 2015 Alex-design.fr All rights reserved.