GNU/Linux >> Tutoriels Linux >  >> Linux

Comment configurer une tâche Cron sous Linux

Présentation

Le démon Cron est un utilitaire Linux intégré qui exécute des processus sur votre système à une heure planifiée. Cron lit la crontab (tables cron) pour les commandes et scripts prédéfinis.

En utilisant une syntaxe spécifique, vous pouvez configurer une tâche cron pour planifier l'exécution automatique de scripts ou d'autres commandes.

Ce guide vous montre comment configurer une tâche cron sous Linux, avec des exemples.

Prérequis

  • Un système exécutant Linux
  • Accès à une ligne de commande/fenêtre de terminal (CtrlAltT ou CtrlAltF2 )
  • Un compte utilisateur avec root ou sudo privilèges

Syntaxe de base de Crontab

Cron lit les fichiers de configuration pour une liste de commandes à exécuter. Le démon utilise une syntaxe spécifique pour interpréter les lignes de la crontab tableaux de configuration.

Pour pouvoir mettre en place une tâche cron, nous devons comprendre les éléments de base qui composent cette syntaxe. La forme standard d'une ligne crontab est la suivante :

a b c d e /directory/command output

Donc, les parties d'un cron commande sont :

1. Les cinq premiers champs a b c d e spécifiez l'heure/la date et la récurrence de la tâche.

2. Dans la deuxième section, le /directory/command spécifie l'emplacement et le script que vous souhaitez exécuter.

3. Le segment final output est facultatif. Il définit la manière dont le système informe l'utilisateur de l'achèvement du travail.

1. Format de l'heure de la tâche Cron

Les cinq premiers champs de la commande représentent des nombres qui définissent le moment et la fréquence d'exécution de la commande. Un espace sépare chaque position, qui représente une valeur spécifique.

Le tableau ci-dessous résume les valeurs possibles pour les champs et l'exemple de syntaxe :

Champ Valeurs possibles Syntaxe Description
[a] – Minute 0 – 59 7 * * * * La tâche cron est lancée chaque fois que l'horloge système affiche 7 dans la position des minutes.
[b] – Heure 0 – 23 0 7 * * * La tâche cron s'exécute à chaque fois que l'horloge système indique 7h du matin (19h serait codé comme 19).
[c] – Jour 0 – 31 0 0 7 * * Le jour du mois est le 7, ce qui signifie que la tâche s'exécute tous les 7 jours du mois.
[d] – 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.
[e] – Jour de la semaine 0 =dimanche et 7 =dimanche 0 0 * * 7 7 dans la position actuelle signifie que le travail ne serait exécuté que le dimanche.

2. Commande à exécuter

La section suivante spécifie la commande à exécuter. Il représente le répertoire et le nom de fichier exacts du script ou des commandes que vous souhaitez que cron exécute. Par exemple :

/root/backup.sh

Dans notre exemple, la commande regarde le répertoire racine du système et exécute le backup.sh scénario. Vous pouvez spécifier n'importe quel script ou commande que vous souhaitez.

3. Sortie (facultatif)

Par défaut, cron envoie un e-mail au propriétaire du fichier crontab lors de son exécution. C'est un moyen pratique de garder une trace des tâches. Gardez à l'esprit que les tâches régulières ou mineures peuvent rapidement remplir votre boîte de réception.

Comme il s'agit d'une fonctionnalité facultative, vous pouvez empêcher ce scénario en désactivant l'e-mail de sortie. Pour désactiver la sortie des e-mails, ajoutez la chaîne suivante, >/dev/null 2>&1 , après les champs de synchronisation et de commande.

* * * * * directory/command >/dev/null 2>&1

4. Utilisation des opérateurs (facultatif)

Pour plus d'efficacité, la syntaxe cron utilise également des opérateurs. Les opérateurs sont des caractères spéciaux qui effectuent des opérations sur les valeurs fournies dans le champ cron.

  • Un astérisque (*) représente toutes les valeurs. Utilisez cet opérateur pour que les tâches s'exécutent pendant tous les mois ou tous les jours de la semaine.
  • Une virgule (,) spécifie des valeurs individuelles distinctes.
  • Un tiret (–) indique une plage de valeurs.
  • Une barre oblique (/) est utilisé pour diviser une valeur en étapes. (*/2 serait une valeur sur deux, */3 serait tous les tiers, */10 serait tous les dixièmes, etc.)

Configuration d'une tâche Cron

Pour configurer une tâche cron, ouvrez la crontab avec l'éditeur de texte de votre choix et saisissez la syntaxe de la commande que vous souhaitez exécuter.

Comment modifier le fichier crontab ?

Pour ouvrir le fichier de configuration crontab pour l'utilisateur actuel, saisissez la commande suivante dans la fenêtre de votre terminal :

crontab –e

Vous pouvez ajouter n'importe quel nombre de tâches planifiées, une par ligne.

Une fois que vous avez terminé d'ajouter des tâches, enregistrez le fichier et sortir. Le démon cron lira et exécutera les instructions fournies.

N'oubliez pas que Cron n'a pas besoin d'être redémarré pour appliquer les modifications.

Modifier la crontab pour un autre utilisateur

Pour modifier la crontab d'un autre utilisateur, saisissez la commande suivante :

crontab –u other_username –e

Exemples de tâches Cron

Lorsque vous spécifiez des travaux, utilisez l'astérisque pour spécifier toutes les valeurs. Mettre une valeur dans l'un des champs n'exécute la commande que sur cette valeur. Par exemple :

* 2 0 * 4 /root/backup.sh

Même s'il doit fonctionner à 2 heures du matin, il ne fonctionne que lorsque le premier du mois (0) tombe un mercredi (4). Si vous changez pour ce qui suit :

* 2 0 * * /root/backup.sh

La commande s'exécute le premier de chaque mois à 2 heures du matin. Le tableau suivant fournit quelques commandes de base utilisant /root/backup.sh fichier de nos exemples précédents.

Tâche Cron Commande
Exécuter une tâche Cron chaque minute * * * * * /root/backup.sh
Exécuter la tâche Cron toutes les 30 minutes 30 * * * * /root/backup.sh
Exécuter une tâche Cron toutes les heures 0 * * * */root/backup.sh
Exécuter une tâche Cron tous les jours à minuit 0 0 * * * /root/backup.sh
Exécuter une tâche Cron à 2 h 00 tous les jours 0 2 * * * /root/backup.sh
Exécuter une tâche Cron chaque 1er du mois 0 0 1 * * /root/backup.sh
Exécuter une tâche Cron tous les 15 du mois 0 0 15 * * /root/backup.sh
Exécuter la tâche Cron le 1er décembre – Minuit 0 0 0 12 * /root/backup.sh
Exécuter la tâche Cron le samedi à minuit 0 0 * * 6 /root/backup.sh

Utiliser des caractères spéciaux

Vous pouvez utiliser la barre oblique pour diviser une chaîne de temps en étapes. Pour exécuter une sauvegarde toutes les 15 minutes :

*/15 * * * *

Le * signifie toutes les valeurs, et le /15 compte et se répète toutes les 15 minutes.

Utilisez le caractère tiret pour spécifier une plage. Pour exécuter le code tous les jours de la semaine à 4 h :

0 4 * * 1-5 /root/backup.sh

Dans ce cas, 1-5 spécifie du lundi au vendredi.

Utilisez une virgule pour spécifier les instances individuelles lorsque le code doit s'exécuter :

0 4 * * 2,4 /root/backup.sh

Cela exécuterait le code à 4 heures du matin le mardi et le jeudi.

Certains jokers peuvent être combinés. Exécutez la commande tous les deux jours à 37 minutes après l'heure :

37 1-23/2 * * * /root/backup.sh

1-23 spécifie la plage d'heures, /2 définit l'intervalle à toutes les deux heures.

Répertorier les tâches Cron existantes

Vous pouvez répertorier toutes les tâches cron sur votre système sans ouvrir le fichier de configuration crontab. Tapez la commande suivante dans une fenêtre de terminal :

crontab –l

Linux
  1. Comment j'utilise cron sous Linux

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

  3. Comment définir une tâche Cron dans TrueNAS

  4. Comment mettre en place une tâche cron pour lancer un exécutable toutes les heures ?

  5. Comment configurer le travail CRON pour qu'il s'exécute toutes les 10 secondes sous Linux ?

Comment configurer une tâche Cron dans cPanel

Comment configurer le travail Cron dans cPanel

Comment mettre en place un Cron Job chez Hostinger ?

Qu'est-ce qu'un travail Cron sous Linux

Cron Vs Anacron :Comment configurer Anacron sous Linux (avec un exemple)

Comment configurer et exécuter un Cron dans cPanel