Présentation
Le démon Cron est un utilitaire Linux utilisé pour planifier les tâches et les processus système. Il utilise des tables cron (crontab) pour stocker et lire les tâches planifiées.
Ce didacticiel explique comment vous pouvez utiliser crontab pour planifier des tâches à exécuter au redémarrage du système.
Prérequis
- Un système exécutant Linux
- Accès à une ligne de commande/fenêtre de terminal
- Un compte utilisateur avec des privilèges root ou sudo
Présentation des commandes Crontab
Avec la crontab
commande, vous avez un contrôle total sur le moment et la manière dont les travaux sont exécutés. Utilisez crontab
pour définir le temps d'exécution du travail à la minute près, sans avoir besoin d'une boucle et d'une logique de synchronisation dans la tâche.
crontab
a de faibles besoins en ressources car il ne réserve pas de mémoire système lorsqu'il n'est pas en cours d'exécution.
Crontab au démarrage :exécuter une tâche Cron au démarrage
Ouvrez la liste des tâches périodiques à l'aide de la commande suivante :
crontab -e
Si plusieurs éditeurs de texte sont installés, le système vous invite à sélectionner un éditeur avec lequel mettre à jour la liste des tâches périodiques. Utilisez le nombre entre parenthèses pour choisir votre option préférée. Nous utiliserons l'option par défaut, Nano.
Pour exécuter une tâche cron à chaque démarrage du système, ajoutez une chaîne appelée @reboot
à la fin de la liste des tâches. Le travail défini par cette chaîne s'exécute au démarrage, immédiatement après le redémarrage de Linux.
Utilisez la syntaxe suivante lors de l'ajout d'un @reboot
chaîne :
@reboot [path to command] [argument1] [argument2] … [argument n]
@reboot [part to shell script]
Appuyez sur Control + X
pour quitter Nano, puis Y
et Enter
pour enregistrer les modifications que vous avez apportées.
Par exemple, si nous voulions que la date système soit écrite dans un fichier appelé date.txt au redémarrage de Linux, nous ajouterions la chaîne suivante :
@reboot date >> ~/date.txt
Si nous voulions exécuter le shell de sauvegarde au redémarrage, nous ajouterions :
@reboot /root/backup.sh
Exécuter une tâche Cron au démarrage avec délai
Pour exécuter une tâche avec un délai après le redémarrage du système, utilisez la commande sleep lors de l'ajout de @reboot
chaîne :
@reboot sleep [time in seconds] && [path to job]
Si vous souhaitez créer un fichier texte avec la date système cinq minutes après le redémarrage, ajoutez :
@reboot sleep 300 && date >> ~/date.txt
Supprimer une commande de redémarrage
Chaque @reboot
chaîne que vous ajoutez à la liste des tâches périodiques exécute une tâche à chaque redémarrage de Linux. Si vous ne souhaitez plus exécuter une tâche, supprimez-la de la liste des tâches.
Pour cela, ouvrez la liste des tâches en utilisant le crontab -e
commande. Faites défiler vers le bas pour passer en revue les tâches que vous avez ajoutées.
Pour supprimer une tâche de la liste, supprimez la ligne appropriée de la chaîne appropriée. Appuyez sur Control + X
pour quitter Nano, puis Y
et Enter
pour enregistrer les modifications.