GNU/Linux >> Tutoriels Linux >  >> Linux

Faites-vous ces erreurs de travail Cron ?

Question : Pourquoi ma tâche cron ne s'exécute pas à l'heure spécifiée ?

Réponse : Il peut y avoir de nombreuses raisons pour lesquelles une tâche cron peut ne pas être exécutée. Passons en revue 5 raisons importantes pour lesquelles une tâche cron ne s'exécute pas à l'heure spécifiée et comment résoudre ces problèmes.

1. Mauvaise interprétation du champ de temps et spécification de valeurs erronées.

Mauvaise interprétation du champ de l'heure et valeurs données dans le champ de l'heure qui ne mentionnent pas l'heure prévue/prévue.

Par exemple, pour exécuter une commande à 20h00, vous devez spécifier l'heure au format 24 heures. c'est-à-dire que 20 h correspond à 20 et non à 8, comme indiqué ci-dessous.

0 8 * * * /home/ubuntu/full-backup
[Note: The is wrong for 8 p.m]
0 20 * * * /home/ubuntu/full-backup
[Note: This is correct for 8 p.m]

Lisez notre tutoriel Linux Crontab :15 exemples de tâches Cron impressionnants pour acquérir une compréhension approfondie de crontab. L'un de nos lecteurs réguliers, Binny, a créé une interface Web qui générera des entrées cron lorsque vous sélectionnerez les valeurs appropriées pour divers champs crontab dans l'interface utilisateur.

2. Chemin d'accès au script shell ou aux commandes non valides dans crontab

Assurez-vous que le chemin d'accès complet au script shell est spécifié dans la crontab.

0 8 * * * tape-backup
[Note: Invalid. No full path specified]

0 8 * * * /home/debian-os/bin/tape-backup
[Note: Valid. This is correct with full path]

Remarque : Si vous ne voulez pas donner le chemin complet dans la crontab, assurez-vous d'ajouter la variable PATH dans la crontab (exemple #14)

3. Aucune autorisation d'exécution pour le script shell dans Cron

Vous avez peut-être donné la commande correcte avec le chemin correct, mais la commande n'a peut-être pas l'autorisation d'exécution. Si vous utilisez des commandes standard Unix, l'autorisation d'exécution sera définie par défaut.

Mais, si vous utilisez des commandes définies par l'utilisateur (scripts shell), assurez-vous de lui donner l'autorisation d'exécution comme indiqué ci-dessous.

*/15 * * * * /home/fedora-os/check-disk-space
[Note: Executes check-disk-space every 15 minutes]

# cd /home/fedora-os
# chmod u+x check-disk-space

4. %age dans la commande de tâche Cron ou le script Shell

Si une commande contient un %, votre commande ne sera pas exécutée. Reportez-vous à notre précédente FAQ sur le problème du pourcentage de Crontab pour comprendre comment résoudre ce problème.

5. Non autorisé à exécuter la tâche Cron par l'administrateur système

Un administrateur système peut décider quel utilisateur peut exécuter des tâches cron et quels utilisateurs ne le peuvent pas. Ainsi, pour empêcher un utilisateur d'exécuter une tâche cron, l'administrateur système peut avoir placé votre nom d'utilisateur dans le fichier /etc/cron.deny.

Si vous avez le privilège root, vérifiez le fichier /etc/cron.deny pour vous assurer que votre nom n'y figure pas. S'il est répertorié, modifiez le fichier et supprimez votre nom. Si vous ne disposez pas des privilèges root, contactez votre administrateur système.


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

  2. La tâche Cron ne s'exécute pas ?

  3. Comment configurer une tâche Cron

  4. Utilisation et politique des tâches Cron

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

Comment configurer une tâche cron dans cPanel

Configuration d'une tâche Cron dans Plesk Panel

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

Linux Crontab :15 exemples de tâches Cron impressionnants