Les tâches planifiées Linux implémentées incluent : cron, anacron, at, etc., mais ce avec quoi j'entre en contact dans mon travail quotidien, c'est le service cron. cron est le nom du service, crond est le processus en arrière-plan et crontab est la liste de tâches planifiées personnalisée. Les tâches planifiées sont souvent utilisées dans les projets pour implémenter des fonctions individuelles. Récemment, j'ai rencontré une situation dans laquelle les tâches planifiées n'étaient pas exécutées. Parce que je n'en savais pas grand-chose auparavant, cela prenait du temps et était laborieux, et j'ai finalement trouvé le problème. . Pour cette raison, je souhaite partager avec vous quelques techniques de dépannage pour éviter des détours à l'avenir.
1. Vérifiez si le service crond est exécuté.
Vous pouvez afficher le pid du processus crond via la commande pgrepcrond ou /sbin/servicecrondstatus, et vous pouvez déterminer si le service crond est en cours d'exécution.
2. Vérifiez si le service cron fonctionne :
Utilisez la commande sudotail–f/var/log/cron
Tant que la commande apparaît dans ce journal, cela signifie qu'elle a été exécutée. Lorsque je suis arrivé à cette étape, j'ai constaté qu'il n'y avait aucun enregistrement d'exécution dans le journal, ce qui signifiait que ma tâche planifiée n'avait pas été exécutée.
3. Après cela, nous devons rechercher pourquoi il n'a pas été exécuté. Il existe probablement les situations suivantes :
(1) Script : la probabilité que des problèmes de script empêchent l'exécution de crontab est très élevée et c'est également le plus courant. Il n'y a pas d'autre moyen que de vérifier le script. Vous pouvez exécuter le script automatiquement pour voir si une erreur est signalée, détectez le script ;
L'exécution automatique est réussie, vérifiez si la variable d'environnement provoque l'échec de l'exécution de crontab. L'environnement d'exécution de la tâche est l'environnement d'exécution de l'utilisateur actuel ou de l'utilisateur spécifié
les tâches planifiées Linux ne sont pas exécutées, donc lors du codageles tâches planifiées Linux ne sont pas exécutées, essayez de référencer le fichier ou d'appeler la commande via le nom de chemin complet, ou remplacez le fichier référencé Ou ajoutez le chemin de la commande à la variable d'environnement.
(2) Des heures système différentes peuvent également empêcher l'exécution des tâches planifiées. Dans ce cas, vous devez vérifier l'heure système.
Date(Voir)Date–smm/dd/yy (modifier l'heure du système)
(3) Le démon crontab s'est enfui, redémarrez le processus
;
servicecrondrestart(4) Il y a un problème avec l'encodage du script
;
Le script compile Linux rar sous Windows. Après avoir été transféré vers Linux, il affichera "锘?!/bin/bash". Utilisez l'éditeur vi pour créer un nouveau script shell, entrez le contenu et enregistrez-le.(5) Vérifiez si le script dispose d'autorisations exécutables. Vous devez vous assurer que l'utilisateur exécutant le script dispose de l'autorisation nécessaire pour exécuter le fichier modifié.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!