GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser le format de tâche Cron pour planifier une tâche sous Linux

Cron est un démon de planification qui utilise un format spécifique pour exécuter des tâches. Voici comment l'utiliser sous Linux pour l'exécution automatique des tâches.

Cron est l'un des utilitaires les plus utiles que vous puissiez trouver et utiliser dans n'importe quel système d'exploitation Linux ou Unix. L'utilisation du cron est un moyen courant d'exécuter périodiquement des tâches telles que des commandes ou des scripts shell. Ces tâches périodiques sont également appelées tâches cron et sont planifiées pour s'exécuter à une heure précise.

Par exemple, vous pouvez définir une tâche cron pour automatiser les tâches répétitives telles que la sauvegarde d'une base de données ou de données, la mise à jour du système avec les derniers correctifs de sécurité, l'envoi d'e-mails, etc.

Cron est nommé d'après le mot grec "Chronos" qui est utilisé pour le temps. Ce guide explique comment planifier des tâches avec crontab et comment utiliser le format de syntaxe spécial de cron pour les exécuter.

Qu'est-ce que le fichier crontab ?

Surtout, le fichier crontab est un simple fichier texte contenant une liste de commandes destinées à être exécutées à des moments précis. Il est édité à l'aide de la crontab commande. Les commandes du fichier crontab (et leurs durées d'exécution) sont vérifiées par le démon cron, qui les exécute en arrière-plan du système.

Chaque ligne d'un fichier crontab est soit "active" soit "inactive". Une ligne "active" est un paramètre d'environnement ou une entrée de commande cron. Une ligne "inactive" est tout ce qui est ignoré, y compris les commentaires.

Les lignes vides, les espaces et les tabulations de début sont ignorés. Lignes dont le premier caractère autre qu'un espace est un signe dièse (# ) sont interprétés comme des commentaires et sont ignorés.

Veuillez noter que les commentaires ne sont pas autorisés sur la même ligne que les commandes cron, car ils seront interprétés comme faisant partie de la commande. Pour la même raison, les commentaires ne sont pas autorisés sur la même ligne que les paramètres des variables d'environnement.

Entrées de format de tâche Cron

Chaque entrée d'un fichier crontab se compose de six champs, spécifiant dans l'ordre suivant :

minute hour day month weekday command
Champ Valeurs possibles Syntaxe Description
Minute 0 – 59 11 * * * *  La tâche cron est lancée chaque fois que l'horloge système affiche 11 dans la position des minutes.
Heure 0 – 23 0 1 * * * La tâche cron s'exécute à chaque fois que l'horloge système affiche 1h du matin (13h serait codé comme 13).
Jour 0 – 31 0 0 19 * *  Le jour du mois est le 19, ce qui signifie que la tâche s'exécute tous les 19 jours du mois.
Mois 0 =aucun et 12 =décembre 0 0 0 7 * Le mois numérique est 7, ce qui détermine que la tâche ne s'exécute qu'en juillet.
Jour de semaine 0 =dimanche et 7 =dimanche 0 0 * * 1 1 dans la position actuelle signifie que le travail ne serait exécuté que le lundi.
Commande Spécial La séquence complète des commandes à exécuter. Les commandes, les exécutables (tels que les scripts) ou les combinaisons sont acceptables.

Chacun de ces champs peut être défini sur un astérisque (* ) , qui signifie « du premier au dernier ». Par exemple, pour exécuter une tâche toutes les heures, mettez * dans le champ heure.

Des plages de nombres sont également autorisées. Les plages sont constituées de deux nombres séparés par un trait d'union (- ). La plage spécifiée est inclusive. Par exemple, 8-11 pour une entrée "heures" spécifie l'exécution à heures 8 , 9 , 10 , et 11 .

Les listes sont autorisées. Une liste est un ensemble de nombres (ou plages) séparés par des virgules (, ). Voici quelques exemples :1,2,5,9 ou 0-4,8-12 .

Les étapes sont également autorisées après un astérisque , donc si vous voulez dire "toutes les deux heures", vous pouvez utiliser */2 .

Le démon cron vérifie la crontab une fois par minute. Les commandes sont exécutées par cron lorsque les champs minute, heure et mois correspondent à l'heure actuelle et qu'au moins l'un des deux champs jour (jour du mois ou jour de la semaine) correspond au jour actuel.

Format de syntaxe spéciale de Cron

Les tâches Cron offrent également des chaînes spécialement formatées, qui peuvent être utilisées à la place des cinq champs d'heure et de date. Ce sont essentiellement des raccourcis pour l'horaire numérique équivalent spécifié :

chaîne Msens
@reboot Exécute la commande spécifiée une fois, au démarrage .
@annuel, @annuel Les deux exécutent la tâche spécifiée chaque année à 12h00 le 1er janvier. Cela équivaut à spécifier "0 0 1 1 *" dans le fichier crontab.
@mensuel Exécute la tâche une fois par mois , le 1er, à 00h00. Dans la syntaxe standard de cron, cela équivaut à "0 0 1 * *"
@hebdomadaire Exécute la tâche une fois par semaine à 12h00 le dimanche. Dans la syntaxe standard de cron, cela équivaut à "0 0 * * 0"
@quotidien, @minuit Les deux exécutent la tâche cron tous les jours à 12h00. Cela équivaut à spécifier "0 0 * * *" dans le fichier crontab.
@horaire Exécute la tâche en haut de toutes les heures . Dans la syntaxe standard de cron, cela équivaut à "0 * * * *"

Comment utiliser la commande crontab

La crontab La commande crée un fichier crontab contenant des commandes et des instructions en utilisant un format de travail cron spécifique pour que le démon cron s'exécute. Vous pouvez utiliser le crontab commande avec les options suivantes :

Commande Description
crontab -e Modifier votre fichier crontab ou créez-en un s'il n'existe pas déjà.
crontab -l Afficher votre fichier crontab.
crontab -r Supprimer votre fichier crontab.
crontab -u utilisateur Utilisée en conjonction avec d'autres options, cette option vous permet de modifier ou de visualiser le fichier crontab de l'utilisateur. Seuls les administrateurs peuvent utiliser cette option.

Par exemple, pour modifier ou créer votre propre fichier crontab, tapez la commande suivante à l'invite du shell :

crontab -e

Il n'est pas nécessaire de redémarrer cron après avoir modifié le fichier crontab. Cron examinera l'heure de modification sur tous les crontabs et rechargera ceux qui ont changé.

Comment modifier un fichier crontab appartenant à un autre utilisateur

Pour modifier le fichier crontab qui appartient à root ou à un autre utilisateur, vous devez devenir root. Bien sûr, vous n'avez pas besoin d'être root pour modifier votre fichier crontab.

crontab -u [username] -e

Comment supprimer un fichier crontab

La plupart du temps, vous ne voudrez pas supprimer le fichier crontab. Cependant, vous souhaiterez peut-être supprimer certaines lignes du fichier crontab.

Pour supprimer le fichier crontab de votre utilisateur, exécutez la commande suivante :

crontab -r

Exemples de tâches Cron

Commande Tâche Cron
* * * * * /root/script.sh Exécutez la tâche Cron toutes les minutes.
0 * * * * /racine/script .sh Exécutez la tâche Cron toutes les heures.
0 0 * * * /racine/script .sh Exécutez la tâche Cron tous les jours à minuit.
0 2 * * * /racine/script .sh Exécutez la tâche Cron à 2h du matin tous les jours.
0 0 15 * * /racine/script .sh Exécutez la tâche Cron tous les 15 du mois à minuit.
0 0 0 12 * /racine/script .sh Exécutez la tâche Cron le 1er décembre à minuit.
0 0 * * 6 /racine/script .sh Exécutez la tâche Cron le samedi à minuit.
0 15 * * 1-5 /root/script.sh Exécutez la tâche Cron à 15h00 tous les jours du lundi au vendredi.
*/5 * * * * /root/script.sh Exécutez la tâche Cron toutes les 5 minutes.
0 8-16 * * * /root/script.sh Exécutez une tâche Cron tous les jours, toutes les heures, toutes les heures, de 8 h 00 à 16 h 00.
0 4 * * 2,4 /root/script.sh Exécutez la tâche Cron à 4 h 00 le mardi et le jeudi.
@reboot /root/script.sh Exécutez la tâche Cron au démarrage du système.

Conclusion

Vous avez maintenant une bonne compréhension de l'utilisation du format de tâche cron pour planifier des tâches sous Linux. Utilisez les exemples présentés dans ce guide pour créer et planifier des tâches cron sur votre système. En combinaison avec des scripts shell, vous pouvez automatiser des tâches normalement fastidieuses ou compliquées.

Pour plus d'informations, les pages de manuel cron et crontab ici et ici contiennent d'excellentes informations et descriptions sur le fonctionnement du système cron.


Linux
  1. Comment utiliser cron sous Linux

  2. Comment utiliser la commande Linux grep

  3. Comment utiliser la commande history sous Linux

  4. Comment j'utilise cron sous Linux

  5. Comment utiliser la commande id sous Linux

Comment utiliser la commande Linux Ping

Comment utiliser la commande fd sur le système Linux

Comment utiliser la commande Jobs sous Linux

Comment utiliser la commande supérieure en tant que gestionnaire de tâches sous Linux

Comment utiliser la commande wget sous Linux ?

Comment utiliser la commande xargs sous Linux ?