Recherche de site Web

Comment créer et gérer des tâches Cron sous Linux


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, des dates et des intervalles spécifiques à l'aide de scripts à la fois généraux et spécifiques à des tâches. Compte tenu de cette description, vous pouvez imaginer comment les administrateurs système l'utilisent pour automatiser les tâches de sauvegarde, le nettoyage des répertoires, les notifications, etc.

Les tâches Cron s'exécutent en arrière-plan et vérifient constamment le fichier /etc/crontab, ainsi que les fichiers /etc/cron.*/ et /var/spool/cron/. répertoires. Les fichiers cron ne sont pas censés être modifiés directement et chaque utilisateur dispose d'une crontab unique.

Comment alors êtes-vous censé créer et modifier des tâches cron ? Avec les commandes crontab. La crontab est la méthode que vous utilisez pour créer, modifier, installer, désinstaller et répertorier les tâches cron.

La commande pour créer et modifier des tâches cron est la même et simple. Et ce qui est encore plus cool, 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

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 devez 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 : Plage de minutes : 0 – 59
  • B : Plage d'heures : 0 – 23
  • Plage C : Jours : 0 – 31
  • D : Plage de mois : 0 – 12
  • E : jours de la semaine plage : 0 – 7. A partir du lundi, 0 ou 7 représente dimanche
  • USERNAME : remplacez-le par votre nom d'utilisateur
  • /path/to/command – Le nom du script ou de la commande que vous souhaitez planifier

Ce n'est pas tout. Cron utilise 3 symboles d'opérateur qui vous permettent de spécifier plusieurs valeurs dans un champ :

  1. Astérisque (*) : spécifie toutes les valeurs possibles pour un champ
  2. La virgule (,) : spécifie une liste de valeurs
  3. Tiret (-) : spécifie une plage de valeurs
  4. Séparateur (/) : spécifie une valeur de pas

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 consiste à installer votre crontab avec la commande :


crontab -e

Exécutez /root/backup.sh à 3 heures du matin tous les jours :


0 3 * * * /root/backup.sh

Exécutez script.sh à 16h30 le deuxième de chaque mois :

30 16 2 * * /path/to/script.sh

Exécutez /scripts/phpscript.php à 22h pendant la semaine :

0 22 * * 1-5 /scripts/phpscript.php

Exécutez perlscript.pl à 23 minutes après minuit, à 2h et 4h du matin, tous les jours :

23 0-23/2 * * * /path/to/perlscript.pl

Exécutez la commande Linux à 04h05 tous les dimanches :

5 4 * * sun /path/to/linuxcommand

Options Cron

Répertoriez les tâches cron.


crontab -l
OR
crontab -u username -l

Supprimez toutes les tâches crontab.

crontab -r

Supprimez la tâche Cron pour un utilisateur spécifique.


crontab -r -u username

Chaînes dans Crontab

Les chaînes font partie des éléments préférés des développeurs car elles permettent de gagner du temps en éliminant l’écriture répétitive. Cron dispose de chaînes spécifiques que vous pouvez utiliser pour créer des commandes plus rapidement :

  1. @hourly : exécuté une fois toutes les heures, c'est-à-dire "0 * * * *"
  2. @minuit : Exécutez une fois par jour, c'est-à-dire "0 0 * * *"
  3. @daily : comme minuit
  4. @weekly : exécuté une fois par semaine, c'est-à-dire "0 0 * * 0"
  5. @monthly : exécuté une fois par mois, c'est-à-dire "0 0 1 * *"
  6. @annually : exécuté une fois par an, c'est-à-dire "0 0 1 1 *"
  7. @annuellement : identique à @annuellement
  8. @reboot : exécuté une fois à chaque démarrage

Par exemple, voici comment sauvegarder votre système quotidiennement :

@daily /path/to/backup/script.sh

À ce stade, vous disposez de tout ce dont vous avez besoin pour créer et gérer des tâches système à l'aide de Cron. Vous pouvez maintenant commencer à configurer et gérer plusieurs environnements à l'aide de commandes planifiées.

Dans quelle mesure êtes-vous un utilisateur de Cron ? 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 le fonctionnement de Crontab, vous pouvez utiliser ces astucieux utilitaires générateurs de Crontab pour générer gratuitement des lignes crontab.

Vous pouvez également lire l'article d'Ubuntu sur la façon d'utiliser Cron ici. Il contient des ressources qui pourraient vous être utiles.