Cron est l’un des outils les plus utiles de Linux et un favori des développeurs car il vous permet d’exécuter des commandes automatisées à des périodes spécifiques, des dates et des intervalles en utilisant à la fois des scripts polyvalents et spécifiques à des tâches. Avec cette description, vous pouvez imaginer comment les administrateurs système l’utilisent pour automatiser des tâches de sauvegarde, le nettoyage de répertoires, les notifications, etc.
Les tâches cron s’exécutent en arrière-plan et vérifient constamment le fichier /etc/crontab
, et les répertoires /etc/cron.*/
et /var/spool/cron/
. Les fichiers cron ne doivent pas être édités directement et chaque utilisateur a un crontab unique.
Comment alors êtes-vous censé créer et éditer des tâches cron ? Avec les commandes crontab. Le crontab est la méthode que vous utilisez pour créer, éditer, installer, désinstaller et répertorier les tâches cron.
La commande pour créer et éditer les tâches cron est la même et simple. Et ce qui est encore mieux, c’est que vous n’avez pas besoin de redémarrer cron après avoir créé de nouveaux fichiers ou modifié des fichiers existants.
$ crontab -e
Syntaxe Cron
Tout comme avec n’importe quel langage, travailler avec cron est beaucoup plus facile lorsque vous comprenez sa syntaxe et il y a 2 formats que vous devriez connaître :
A B C D E USERNAME /path/to/command arg1 arg2 OR A B C D E USERNAME /root/backup.sh
Explication de la syntaxe cron ci-dessus :
- A: Minutes range: 0 – 59
- B: Hours range: 0 – 23
- C: Days range: 0 – 31
- D: Months range: 0 – 12
- E: Days of the week range: 0 – 7. Starting from Monday, 0 or 7 represents Sunday
- NOM_UTILISATEUR : remplacez ceci par votre nom d’utilisateur
- /chemin/vers/commande – Le nom du script ou de la commande que vous voulez planifier
Ce n’est pas tout. Cron utilise 3 symboles d’opérateur qui vous permettent de spécifier plusieurs valeurs dans un champ :
- Astérisque
(*)
: spécifie toutes les valeurs possibles pour un champ - La virgule
(,)
: spécifie une liste de valeurs - Tiret
(-)
: spécifie une plage de valeurs - Séparateur
(/)
: spécifie une valeur d’étape
Maintenant que vous connaissez la syntaxe et les opérateurs de Cron, voyons quelques exemples de cron.
Exemples de tâches Cron
La première étape pour exécuter des commandes cron est d’installer votre crontab avec la commande :
# crontab -e
Exécuter /racine/sauvegarde.sh
à 3 heures du matin tous les jours :
0 3 * * * /root/backup.sh
Exécuter script.sh
à 16h30 le deuxième de chaque mois :
30 16 2 * * /path/to/script.sh
Exécuter /scripts/phpscript.php
à 22 heures pendant la semaine :
0 22 * * 1-5 /scripts/phpscript.php
Exécuter perlscript.pl
à 23 minutes après minuit, 2 heures du matin et 4 heures du matin, tous les jours :
23 0-23/2 * * * /path/to/perlscript.pl
Exécuter la commande Linux à 04h05 tous les dimanches :
5 4 * * sun /path/to/linuxcommand
Options de Cron
Lister les tâches cron.
# crontab -l OR # crontab -u username -l
Supprimer tous les travaux de crontab.
# crontab -r
Supprimer la tâche Cron pour un utilisateur spécifique.
# crontab -r -u username
Chaînes dans Crontab
Les chaînes sont parmi les choses préférées des développeurs car elles aident à gagner du temps en éliminant l’écriture répétitive. Cron a des chaînes spécifiques que vous pouvez utiliser pour créer des commandes plus rapidement :
@hourly
: Exécuter une fois par heure, c’est-à-dire « 0 * * * *«@midnight
: Exécuter une fois par jour, c’est-à-dire « 0 0 * * *«@daily
: même chose que minuit@weekly
: Exécuter une fois par semaine, c’est-à-dire « 0 0 * * 0«@monthly
: Exécuter une fois par mois, c’est-à-dire « 0 0 1 * *«@annually
: Exécuter une fois par an, c’est-à-dire « 0 0 1 1 *«@yearly
: même que @annually@reboot
: Exécuter une fois au démarrage
Par exemple, voici comment sauvegarder votre système tous les jours :
@daily /path/to/backup/script.sh
À ce stade, vous avez tout ce dont vous avez besoin pour créer et gérer des tâches système en utilisant Cron. Vous pouvez maintenant commencer à configurer et maintenir plusieurs environnements en utilisant des commandes planifiées.
Quel utilisateur de Cron êtes-vous ? Et y a-t-il des détails que vous pouvez apporter à l’article ? La boîte de discussion est ci-dessous.
Lorsque vous comprenez suffisamment comment fonctionne Crontab, vous pouvez utiliser ces astucieuses utilitaires générateurs de Crontab pour générer des lignes de crontab gratuitement.
De plus, vous pouvez lire l’article d’Ubuntu sur l’utilisation de Cron ici. Il contient des ressources qui pourraient vous être utiles.
Source:
https://www.tecmint.com/create-and-manage-cron-jobs-on-linux/