Exécuter automatiquement des scripts sous Linux
fr:Exécuter automatiquement des scripts sous Linux he:הפעל אוטומטית את קבצי ה-script תחת לינוקס ro:Rula automat script-uri sub Linux ru:Автоматически запускать скрипты под Linux pl:Automatycznie uruchamiać skrypty pod Linuksem ja:Linux のスクリプトを自動的に実行します。 ar:تلقائياً بتشغيل البرامج النصية تحت لينكس zh:自动运行在 Linux 下的脚本 de:Automatische Ausführung von Skripten unter Linux nl:Automatisch uitvoeren van scripts onder Linux it:Eseguire automaticamente script sotto Linux pt:Automaticamente executar scripts no Linux es:Ejecutar automáticamente secuencias de comandos en Linux en:Automatically run scripts under Linux
Cet article explique le fonctionnement de cron et comment créer une tâche planifiée récurrente avec crontab.
Le fonctionnement de Cron
Vérification
Le service cron s'exécute au démarrage de la machine et lance les lignes de commandes en fonction de ce qui est renseigné dans ses fichiers de configuration.
Pour vérifier que le service cron est fonctionnel, lancez la commande :
$ systemctl status cron.service
Installation
Dans de très rare cas, le service cron peut ne pas être installé par défaut sur le système.
Pour un système Debian/Ubuntu :
$ sudo apt install cron
Pour un système Centos :
$ sudo dnf install cronie
Fichiers et dossiers de configuration
Le fichier de configuration principal est /etc/crontab
.
Il est par défaut configuré pour exécuter avec l'utilisateur root les scripts stockés dans ces dossiers :
/etc/cron.hourly
: Toutes les heures/etc/cron.daily
: Tous les jours/etc/cron.weekly
: Toutes les semaines/etc/cron.monthly
: Tous les mois
Ajouter une tâche
Pour ajouter une tâche, il n'est pas conseillé de modifier directement le fichier /etc/crontab
.
Pour cela, nous préférerons utiliser la commande crontab qui modifiera le fichier après une avoir vérifié la syntaxe.
Utilisation de crontab
- crontab -l
- Lister les planifications
- crontab -r
- Supprimer toutes les planifications
- crontab -e
- Éditer les planifications
Pour ajouter une ligne de commande qui va s’exécuter régulièrement, nous allons donc utiliser :
# crontab -e
Un éditeur de texte se lance et on peut y ajouter une ligne.
Voici la composition d'une ligne cron:
[minute] [heure] [jour du mois] [mois] [jour de la semaine] [commande à lancer]
Exemples
#Programmation du reboot soft tous les Lundi, Mardi, Jeudi, Samedi a 6h30 30 6 * * 1,2,4,6 root reboot
#Programmation d'un script http appelé toutes les minutes */1 * * * * root GET http://votre-domaine.com/test.php
Activer l'actualisation automatique des commentaires