GNU/Linux >> Tutoriels Linux >  >> Panels >> cPanel

Comment vérifier si une tâche Cron a été exécutée (journal Crontab)

Une question assez courante pour les tâches planifiées qui s'exécutent en arrière-plan est :"Sont-elles en cours d'exécution ?" Ces tâches, communément appelées tâches cron, sont des tâches qui doivent s'exécuter automatiquement pour la maintenance, les sauvegardes et d'autres besoins fonctionnels pour le site Web et le serveur.

Afin de déterminer si vos tâches cron sont en cours d'exécution, vous devrez faire la distinction entre la planification des tâches (la crontab) et les tâches elles-mêmes (les tâches cron). Les tâches cron qui ne produisent pas de résultats de sortie nécessitent que vous vous familiarisiez avec les journaux du serveur. Après avoir déterminé les résultats des journaux du serveur, vous pouvez alors dépanner les tâches cron qui ne sont pas en cours d'exécution. Vous pouvez également modifier un script afin qu'il produise une sortie indiquant qu'il est en cours d'exécution.

L'article suivant vous aidera à faire la distinction entre une tâche crontab et une tâche cron, deux façons de voir quand une tâche cron est en cours d'exécution et comment résoudre les tâches cron qui ne sont pas en cours d'exécution.

  • Comprendre la différence entre Crontab et Cron Job
  • 2 façons de voir si votre tâche Cron est en cours d'exécution
  • Dépannage d'une tâche Cron

REMARQUE :Pour exécuter cette fonction, vous devez disposer d'un accès root sur votre VPS ou votre serveur dédié.

Différence entre Crontab et Cron Job

Pour éviter toute confusion entre un administrateur débutant et un développeur ou un administrateur de serveur expérimenté, il est important de comprendre la signification des termes "crontab" et "tâche cron".

Si vous recherchez "planification des tâches cron", vous trouverez le terme crontab défini ou décrit sans presque aucune introduction. Le terme crontab est l'abréviation de "table cron" et est une commande Linux pour la planification des tâches cron. Le crontab est également le fichier texte réel qui contient la planification des tâches cron.

Une tâche cron est un code ou un script réel que vous essayez d'exécuter en arrière-plan à une heure planifiée particulière. La commande Linux pour une tâche cron est simplement cron .

Ainsi, si quelqu'un vous demande comment une tâche cron est planifiée dans la crontab, vous savez qu'il fait référence aux informations de synchronisation et de fréquence appliquées à la tâche cron dans le fichier texte connu sous le nom de crontab.

Pour les besoins de cPanel, les tâches crontab et cron peuvent être modifiées directement dans l'interface cPanel sur les Cron Jobs page. Ici, vous pouvez voir la partie supérieure des tâches Cron page :

Si vous avez des tâches cron existantes, vous les verrez en bas des tâches cron page. Vous verrez le timing de la tâche cron (à partir du fichier crontab) ainsi que le code de la tâche cron. Vous pouvez ajouter, modifier et supprimer des tâches cron et leurs planifications correspondantes sur cette page. Voici à quoi ressemble la section du bas :

En utilisant les informations crontab fournies dans cPanel, vous pouvez déterminer quand une tâche cron était censée s'exécuter. Dans certains cas, les tâches cron ne génèrent pas de sortie, il est donc important que vous vous familiarisiez avec les fichiers journaux générés et comment les rechercher.

2 façons de voir si votre tâche Cron est en cours d'exécution

Vérification des fichiers journaux

Dans cet exemple, nous allons rechercher le journal crontab en utilisant le nom de fichier fictif script.sh . La commande couramment utilisée pour rechercher des fichiers ou des caractères dans un modèle particulier est grep . Cette commande de terminal peut être utilisée pour rechercher dans le fichier journal des instances lorsque "script.sh" est en cours d'exécution. Voici la commande utilisée pour rechercher "script.sh" dans le fichier journal cron :

grep "script.sh" /var/log/cron

Si vous deviez rechercher un script ou un terme différent dans le fichier journal, vous remplaceriez simplement "script.sh" par le nom de votre fichier de script ou de la chaîne de texte que vous essayez de trouver dans le journal.

À l'aide de la commande grep, vous pouvez afficher le journal pour voir la dernière fois que le script spécifique de la tâche cron a été exécuté. Si la tâche cron ne produit pas de sortie visible, vous devez vérifier si la tâche cron a réellement eu lieu.

Par exemple, vous pouvez voir la dernière fois qu'une tâche cron d'effacement du cache a été exécutée. Vous vérifierez ensuite si le cache est vidé en voyant si le cache est vide ou non. Voici un exemple d'exécution d'une tâche cron en consultant le journal :

Le journal affiche un enregistrement du moment où le fichier a été exécuté. Veuillez consulter notre tutoriel si vous avez besoin d'informations sur la façon d'accéder au terminal via cPanel.

Utilisation de la sortie dans un script pour afficher une tâche Cron en cours d'exécution

Le moyen le plus simple de voir si une tâche cron (avec ses paramètres crontab) fonctionne est de modifier une tâche cron existante afin qu'elle produise une sortie visible. Vous pouvez ajouter une ligne de code dans votre script existant pour générer un résultat lorsque le script est exécuté. Si le résultat de cette commande produit une sortie, vous pouvez utiliser cette sortie pour confirmer que votre script cron est en cours d'exécution.

La modification d'un script de travail cron ne doit pas être effectuée par un utilisateur qui n'est pas familiarisé avec le code ou le script en cours d'exécution. Étant donné que les tâches cron peuvent être écrites de différentes manières, vous devrez peut-être parler à un développeur expérimenté pour éviter tout problème avec votre site Web.

Dépannage des tâches Cron

Si vous ne voyez aucune activité dans le journal crontab ou si vous ne recevez pas d'e-mail concernant l'activité cron (pour les tâches cron avec une sortie), alors vous voudrez d'abord revérifiez que les paramètres de temps pour la tâche cron sont corrects. Cela vous aidera à déterminer si (et quand) le cron est censé s'exécuter afin que vous puissiez résoudre correctement les problèmes éventuels.

Si vous suspectez toujours un problème avec la tâche cron, il y a normalement 3 possibilités pour lesquelles elle ne fonctionne pas :

  1. Le démon cron (le processus système qui exécute les tâches cron) n'a pas pu exécuter le script ou n'a pas pu envoyer d'e-mail
  2. Il y a eu des problèmes avec le serveur de messagerie qui a envoyé la sortie ou l'e-mail a été perdu
  3. La tâche cron n'a pas produit de sortie ou de message d'erreur

Dans les trois cas, la tâche cron échoue silencieusement. En d'autres termes, il n'y a aucun résultat visuel de l'exécution de la tâche cron.

Dans la première possibilité, vous devrez vérifier le journal système sur le serveur Web afin de rechercher les erreurs qui peuvent être enregistrées lors de la tentative d'exécution de la tâche cron. Vous pouvez ensuite utiliser le message d'erreur pour isoler où le script de la tâche cron peut échouer et apporter les corrections nécessaires.

Vous devrez peut-être également parcourir le journal du serveur de messagerie pour vérifier s'il y a eu une tentative d'envoi d'un e-mail après la fin de la tâche cron. N'oubliez pas que l'adresse e-mail désignée est définie en haut de la page de travail cron dans cPanel. Vous pouvez utiliser l'adresse e-mail pour isoler les tentatives d'e-mail dans le journal du serveur de messagerie.

Vous devriez également vérifier le journal du serveur de messagerie si vous voyez l'enregistrement de la tâche cron en cours d'exécution, mais aucun e-mail attendu. Les e-mails sont envoyés à la fin des tâches cron avec une sortie.

Dans la troisième possibilité, vous devrez ajouter du code à votre tâche cron afin qu'elle produise une sortie facilement suivie pour vérifier qu'elle est en cours d'exécution.

Si vous ne savez pas comment vérifier les journaux du serveur de messagerie, contactez le support technique de votre service d'hébergement ou travaillez avec un administrateur expérimenté pour utiliser les journaux afin de vous aider à identifier les problèmes liés au serveur de messagerie.

Une tâche cron peut échouer de plusieurs manières. Si vous ne savez pas comment coder les tâches cron, consultez un développeur expérimenté pour vous aider à apporter des corrections ou à modifier le code à des fins de dépannage.

Vous pouvez lire notre guide complet sur la configuration des tâches cron dans cPanel si vous avez besoin de plus d'informations sur ce sujet.

Assurez-vous que vos clients commerciaux, agences ou revendeurs sont toujours connectés et sous tension grâce à notre hébergement VPS géré optimisé.
cPanel
  1. Comment configurer des tâches cron dans cPanel

  2. Où est le journal cron/crontab ? / Comment activer le Cron Log ?

  3. Journal Crontab :comment enregistrer la sortie de mon script Cron

  4. Comment exécuter une tâche cron certains jours de la semaine

  5. Comment exécuter une tâche cron dans un conteneur docker

Comment exécuter une tâche Crontab chaque semaine le dimanche

Comment configurer une tâche cron dans cPanel

Comment configurer le travail Cron dans cPanel

Comment vérifier la sortie des tâches Cron chez Hostinger ?

Comment configurer et exécuter un Cron dans cPanel

Comment puis-je exécuter une tâche cron toutes les 30 minutes ?