40 votes

Tester l'entrée cron

J'ai récemment ajouté une tâche cron, mais j'ai fait une erreur dans le chemin en donnant la commande et, par conséquent, la tâche n'a jamais réussi. Existe-t-il un moyen de tester les modifications apportées à cron ?

Veuillez noter que j'avais en effet copié et collé la commande à partir de ma ligne de commande et que c'était juste une touche égarée qui en était la cause.

52voto

Martin Olsen Points 964

Lorsque je veux tester mes tâches cron, je règle généralement l'intervalle très bas et surveille de près les journaux. Lorsque je suis convaincu que l'entrée est correcte, je remets l'intervalle à une valeur raisonnable.

Par exemple, exécutez la tâche toutes les deux minutes :

*/2 * * * * echo "Hello World"

Et j'exécute tail -f sur mon fichier journal ( /var/log/syslog sur debian).

8voto

Fuujuhi Points 173

La réponse de Joshua ne fonctionne pas pour moi. Deux problèmes :

  • Les variables dans le cron-env ne sont pas exportées ( set -a requis).

  • Le script est toujours lié au tty actuel ( setsid requis).

Le script run-as-cron doit être

 #!/bin/sh

. "$1"
exec setsid /usr/bin/env -i "$SHELL" -c "set -a; . $1; $2" </dev/null

Pas assez de rep' pour corriger sa réponse ou ajouter un commentaire...

0voto

Amit Bhat Points 7

utiliser la commande crontab -e Cela ouvrira un éditeur vim et tout ce que vous avez à faire ici est * * * * * /somepath/urscript.sh , assurez-vous d'avoir les espaces appropriés entre les dates et le chemin du script Après l'exécution, vous pouvez vérifier dans le fichier /var/spool/mail une trace complète de l'exécution du script ou des erreurs. Pour tester, il n'y a aucun moyen .. mais dans le cas où ur sh urscript.sh fonctionne, l'onglet cron n'aura aucun problème car c'est exactement la même chose que vous faites manuellement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X