
Planifier une tâche sur le Pi (ex: redémarrage et mise à l’heure)
20 mai 2016Planification d’une tâche. (redémarrage)
Pour commencer, connectez-vous à votre Raspberry-Pi en SSH. Une fois connectée, lancer la commande ci-dessous qui va nous permet d’éditer le fichier contenant la liste des tâches.
sudo nano /etc/crontab -e
Les lignes se décomposent comme suit :
mm hh jj MMM JJJ tâche utilisateur commande
Soit la définition suivante :
- mm : pour les minutes (de 0 à 59).
- hh : pour l’heure (de 0 à 23).
- jj : pour le numéro du jour du mois (de 1 à 31).
- MMM : pour le nom du mois (jan, feb, …)/le numéro du mois (de 1 à 12).
- JJJ : pour le nom du jour/le numéro du jour dans la semaine. (0=Dimanche, 1=Lundi, …)
Pour spécifier que la tâche s’applique tous les jours, on utilisera le caractère étoile (*).
Par exemple si l’on souhaite redémarrer notre machine tous les jours à 2 heures 30, il suffit d’ajouter la ligne suivante :
30 2 * * * root reboot
Enfin pour valider la commande quitter l’application en cliquant simultanément sur « CTRL+X » et valider.
Pour tout savoir de la commande et des options possibles Wikipedia : Cron
Planifier une mise à l’heure.
J’ai remarqué que mon Raspberry Pi se désynchronise très rapidement, de l’ordre de plusieurs dizaines de secondes par jour. C’est énorme !
Pourquoi ?
« Le Raspberry Pi ne comprend pas d‘horloge matérielle, dit composant HTR (Le terme anglais est RTC : Real Time Clock). La fondation justifie ce choix par le coût excessif du composant par rapport au budget initial très serré. La fondation suggère d’utiliser par exemple un composant GPS, qui contient une HTR très précise. Ce composant peut être branché via la prise GPIO. Il est aussi possible de synchroniser le temps du système grâce au protocole de réseau NTP, ce qui implique de se connecter via un réseau à un service NTP qui fonctionne soit sur un ordinateur sur Internet, soit sur un ordinateur d’un réseau local, ce dernier ordinateur devant être capable de se synchroniser avec une référence NTP sur Internet »
La Solution → planifier une tâche de mise à l’heure
- Installer l’utilitaire ntpdate :
sudo apt-get install ntpdate
- Choisir un serveur de temps de référence de votre choix, par exemple « pool.ntp.org«
- Ajouter dans la crontab la commande de mise à jour:
- Editer la crontab en tant qu’utilisateur root :
sudo nano /etc/crontab -e
- Ajouter la ligne suivante à la fin du fichier pour que la commande soit exécutée tous les jours à 1h00 :
0 1 * * * root ntpdate -u pool.ntp.org
- Enregistrer le fichier puis quitter