Modes de paiement Abuse

Cron sous Linux : qu'est-ce que c'est ?

26.02.2023, 13:13

Cron est un utilitaire de planification de tâches dans le système d'exploitation Linux. Il vous permet d'exécuter automatiquement des scripts ou des commandes à certains moments, intervalles ou événements.

Comment l'utiliser ?

Pour utiliser Cron, vous devez créer un fichier crontab qui contient une liste de tâches et les intervalles de temps où elles doivent être exécutées. Chaque tâche du fichier crontab est une chaîne composée de cinq champs séparés par des espaces :

*     *     *     *     *  command_to_execute
-     -     -     -     -
|     |     |     |     |
|     |     |     |     +----- day of the week (0 - 6) (Sunday = 0 or 7)
|     |     |     +------- month (1 - 12)
|     |     +--------- day of the month (1 - 31)
|     +----------- hour (0 - 23)
+------------- minutes (0 - 59)

Par exemple, si le champ minutes contient un *, la tâche s'exécutera toutes les minutes. Si vous souhaitez définir une valeur spécifique pour un champ, par exemple, tous les jours à 3 heures du matin, vous devez écrire 0 3 * * * *.

Pour créer ou modifier un fichier crontab, utilisez la commande crontab -e. Chaque utilisateur peut avoir son propre fichier crontab, ainsi que le fichier système /etc/crontab, qui contient les tâches exécutées par l'utilisateur root.

Il existe une commande cronjob qui vous permet d'exécuter des tâches à l'intérieur des conteneurs Docker. Son fonctionnement est similaire à celui de crontab, mais les tâches peuvent être exécutées à l'intérieur du conteneur au lieu du système hôte.

Utilisation de Cron : un algorithme étape par étape

Pour commencer à utiliser Cron sous Linux, procédez comme suit :

1. ouvrez un terminal et tapez la commande crontab -e. Cette commande ouvrira le fichier crontab de l'utilisateur actuel.

2. Ajoutez une tâche au fichier crontab en respectant le format de champ décrit ci-dessus. Par exemple, si vous souhaitez exécuter le script every_hour.sh toutes les heures, ajoutez la ligne 0 * * * * * /path/to/every_hour.sh.

3. Enregistrez vos modifications et fermez le fichier.

4. Vérifiez que la tâche a été ajoutée à la crontab à l'aide de la commande crontab -l. Elle affichera une liste de toutes les tâches ajoutées à la crontab.

5. Vérifiez que la tâche s'exécute comme prévu à l'aide de la commande tail -f /var/log/syslog. Vous verrez la sortie relative à l'exécution de la tâche.

6. Si vous souhaitez supprimer une tâche de la crontab, utilisez la commande crontab -r.

Il y a quelques points importants à garder à l'esprit :

  • vous pouvez ajouter des scripts et des commandes à la crontab. Mais si vous voulez exécuter un script, assurez-vous qu'il dispose des droits d'exécution(chmod +x /path/to/script.sh).
  • si vous souhaitez que la tâche soit exécutée avec les droits de l'utilisateur root, utilisez la commande sudo crontab -e pour ouvrir le fichier crontab pour l'utilisateur root.
  • assurez-vous que les commandes et les scripts que vous exécutez se trouvent au bon endroit et qu'ils disposent des autorisations de lecture et d'exécution correctes.

Notez que l'heure spécifiée dans le fichier crontab correspondra à l'heure du serveur qui exécute Cron. Si vous utilisez un serveur distant, assurez-vous que l'heure du serveur est configurée correctement.