Un petit article rapide pour vous apprendre à éditer la crontab de votre Raspberry pi. Si comme moi vous utilisez votre raspberry en serveur web, il peut être intéressant d’avoir recours à la crontab pour automatiser certaines tâches (script php, bash de backup…)
1 Commençons par ouvrir une connexion Telnet sur le raspberry (profitez-en pour admirer votre nouveau message d’accueil ASCII).
Changer le message d’accueil SSH du raspberry
Vous avez un Raspberry Pi à la maison? Si vous nous suivez depuis un moment, il y a de fortes chances! Peut être même que c’est un Jeedom qui tourne sur votre Raspberry pi? Vous avez bien raison, c’est une…
2 Une fois connecté ouvrer la crontab via la commande suivante:
~$ sudo crontab -e
3 La crontab s’ouvre sous nano, vous visualisez alors son contenu:
# m h dom mon dow command</pre>
#exécution du script php de traitement du vent toutes les 10 min
*/10 * * * * /usr/bin/php /var/www/dashboard/scripts/import_vent.php
#exécution du script php de traitement de la pluviométrie jour
0 */2 * * * /usr/bin/php /var/www/dashboard/scripts/import_pluviometrie.php
#exécution de la maj vigilance météo toutes les 1h
0 */1 * * * /usr/bin/php /var/www/vigimeteo/index.php
#exécution du backup de la base historique tout le jour à 19H30
30 19 * * * bash /home/pi/scripts/backup_bdd.sh
#exécution du backup des fichiers web tous les jours a 20H
0 20 * * * bash /home/pi/scripts/back_ftp.sh
#exécution du nettoyage dans les backups de bases tous les jours a 19H
0 19 * * * bash /home/pi/scripts/clean_backup.sh
Vous pouvez voir que j’ai déjà des tâches dedans qui s’exécutent régulièrement. La syntaxe est assez simple à comprendre, la commande est la suivante:
X X X X X commande à exécuter
le premier x correspond aux minutes de 0 à 59
le second x correspond aux heures de 0 à 23
le troisième x correspond au jour de 1 à 31
le quatrième x correspond au mois de 1 à 12
le cinquième x correspond au jour de la semaine 0 à 6*
0 correspondant au dimanche
4 Reprenons un exemple de ma crontab:
#exécution du backup des fichiers web tous les jours a 20H
0 20 * * * bash /home/pi/scripts/back_ftp.sh
Dans cette ligne on indique qu’a 0 minute de 20h tout les jours de tous les mois, il faut exécuter le script bash back_ftp.sh qui se trouve dans /home/pi/scripts.
5 Autre exemple de ma crontab:
#exécution de la maj vigilance météo toutes les 1h
0 */1 * * * /usr/bin/php /var/www/vigimeteo/index.php
Dans cette ligne on indique via le /1 qu’il faut exécuter ce script php chaque heure, un simple 1 aurait été interprété différemment, le script aurait été exécuté tous les jours 1h00 plutôt qu’a chaque heure de la journée.
6 D’autres exemples:
*/10 * * * * bash /home/pi/scripts/back_ftp.sh
exécute le script toutes les 10 minutes
10 * * * * bash /home/pi/scripts/back_ftp.sh
exécute le script toutes les heures et 10 minutes
0 0 * * 0 bash /home/pi/scripts/back_ftp.sh
exécute le script tous les dimanches à minuit
0 0 * 5 * bash /home/pi/scripts/back_ftp.sh
exécute le script tout les jours du mois de mai a minuit
0 0 1 * * bash /home/pi/scripts/back_ftp.sh
exécute le script tous les premiers de chaque mois a minuit
30 1 1-10 * * bash /home/pi/scripts/back_ftp.sh
exécute le script à 1h30 du 1 au 10 de chaque mois
30 1 * * 6,0 bash /home/pi/scripts/back_ftp.sh
exécute le script tous les week-ends (samedi et dimanche) à 1h30
Conclusion
Voilà, vous en savez à présent un peu plus sur la crontab, élément essentiel d’un système sous Linux, sa connaissance est une étape obligatoire pour aller plus loin dans l’automatisation. À vous de jouer à présent!
Salut , je n’arrive pas à exécuter un script php qui va mettre à jour la box eedomus. Est-ce qu’il y a des paramètre à modifier sur le fichier php?
Salut , je n’arrive pas à exécuter un script php qui va mettre à jour la box eedomus. Est-ce qu’il y a des paramètre à modifier sur le fichier php?
non rien de particulier, si ton fichier met bien à jour l’eedomus via son appel dans un navigateur, ca doit être bon.
[…] pour le transformer en une Horloge parlante digne de ce nom? il faut avoir recours à la crontab pour automatiser … c’est un outil interne au système LINUX qui permet de lancer des […]