accueil > Gestion des paquets et du système > cron

cron : démon de planification de tâches périodiques

cron est un démon (service d'arrière-plan) des systèmes Linux/Unix qui exécute automatiquement des commandes ou des scripts à des moments spécifiés. Il est généralement utilisé pour enregistrer et gérer des tâches (cron jobs) par les utilisateurs ou les administrateurs système via la commande crontab. Ce démon démarre automatiquement au démarrage du système, s'exécute en arrière-plan et vérifie et exécute périodiquement les tâches enregistrées.

Aperçu

Le démon cron est l'un des services essentiels du système, utilisé pour automatiser les tâches répétitives. Les utilisateurs peuvent définir les commandes à exécuter, l'heure d'exécution et la fréquence via le fichier crontab. Il existe un fichier crontab pour l'ensemble du système (/etc/crontab) et des fichiers crontab pour chaque utilisateur individuel.

Caractéristiques principales

  • Planification de tâches basée sur le temps
  • Gestion des tâches par utilisateur / pour l'ensemble du système
  • Exécution automatique en arrière-plan
  • Utilisé pour la maintenance régulière du système et l'automatisation

Options principales

Le démon cron démarre généralement automatiquement au démarrage du système, et il est rare de l'exécuter directement en ligne de commande. Les options ci-dessous sont principalement utilisées pour démarrer manuellement le démon cron ou pour le débogage. Les utilisateurs gèrent principalement les tâches cron via la commande crontab.

Contrôle et débogage du démon

Commande générée :

Essayez de combiner les commandes.

Description:

`cron` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Il est rare d'exécuter le démon cron lui-même directement ; on utilise généralement systemctl pour vérifier son état ou crontab pour gérer les tâches.

Vérifier l'état du service cron

systemctl status cron

Vérifie si le démon cron est actuellement en cours d'exécution.

Modifier le fichier crontab de l'utilisateur actuel

crontab -e

Ajoute, modifie ou supprime les tâches cron de l'utilisateur actuel.

Afficher la liste des tâches crontab de l'utilisateur actuel

crontab -l

Affiche toutes les tâches cron enregistrées pour l'utilisateur actuel.

Afficher le contenu du fichier crontab système

cat /etc/crontab

Affiche les tâches cron appliquées à l'ensemble du système. (Attention lors de la modification)

Redémarrer le service cron

sudo systemctl restart cron

Redémarre le service pour appliquer les modifications de configuration de cron au démon.

Conseils et précautions

Conseils et précautions pour gérer efficacement et en toute sécurité les tâches cron.

Conseils principaux

  • **Variables d'environnement** : L'environnement crontab peut avoir des variables d'environnement de shell limitées. Il est donc conseillé de définir explicitement les variables d'environnement nécessaires dans le script ou d'utiliser des chemins complets.
  • **Vérification des journaux** : Si une tâche cron ne s'exécute pas comme prévu, vous pouvez vérifier les journaux via syslog ou la commande journalctl -u cron pour identifier la cause du problème.
  • **Redirection de sortie** : La sortie standard (stdout) et l'erreur standard (stderr) des tâches cron sont par défaut envoyées par e-mail à l'utilisateur qui exécute la tâche. Pour éviter l'envoi d'e-mails inutiles, redirigez la sortie vers /dev/null ou enregistrez-la dans un fichier journal (ex: `command > /path/to/log.log 2>&1`).
  • **Utilisation de @reboot** : Pour les tâches qui ne doivent s'exécuter qu'une seule fois au redémarrage du système, vous pouvez utiliser le mot-clé `@reboot`.
  • **Syntaxe crontab** : Vous devez comprendre et utiliser correctement la syntaxe de planification au format `minute heure jour mois jour_de_la_semaine`.

Commandes de la même catégorie