Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tache Cron ne s'execute pas

Sujet résolu
2 août 2019 à 9:57:00

Bonjour à tous,

Déjà j'ai un peu honte parce que je n'arrive toujours pas à faire des taches cron malgré les centaines de tutos sur le net :euh:

Je suis sous linux, distribution Wheezy (c'est vieux mais je n'ai pas le choix).

j'ai édité ma crontab comme ceci (extrait d'un autre topic sur OC). Cette commande doit afficher 'Hello' toutes les minutes

crontab -l > /tmp/toto.txt # export de la crontab
echo "* * * * * echo Hello" >> /tmp/toto.txt # ajout de la ligne dans le fichier temporaire
crontab /tmp/toto.txt # import de la crontab
rm /tmp/toto.txt # le fichier temporaire ne sert plus à rien


C'est ce que j'ai fait.

Alors petites verifications avant de poster bien évidemment:

   Quand je fais crontab -l, je vérifie que la ligne s'est bien ajouté.

   Quand je fais un 'ps -ef | grep cron', je vois bien '/usr/sbin/cron'

   Quand je fais un /etc/init.d.cron status', --> cron is running.

Mais devinez quoi?

Mon message ne s'affiche jamais.

Si vous avez des pistes de réflexion je suis preneur.

Merci d'avance :)

  • Partager sur Facebook
  • Partager sur Twitter
2 août 2019 à 10:25:22

Salut,

Je ne comprends pas pourquoi tu exportes ta crontab pour y ajouter une ligne et l'exécuter, il te suffit d'éditer ton fichier /etc/crontab et d'y ajouter ta ligne à la fin.

Il est normal pour moi qu'un simple "echo Hello" exécuté dans une cron n'affiche rien. Il te faut par exemple rediriger ta commande dans un fichier texte.

Si tu veux savoir si ta tâche s'exécute bien, il faut regarder dans les logs (/var/log/cron ou /var/log/syslog).

  • Partager sur Facebook
  • Partager sur Twitter

Thomas | Community manager | ikoula Serveurs dédiés, VPS et Cloud Public

2 août 2019 à 10:38:52

Merci de ta réponse TomA4

Concernant d'éditer directement le fichier /etc/crontab, il ne me semble pas que ce soit une bonne "convention", il est mieux d'éditer crontab via "crontab -e". Mais dans l'absolu, je ne pense pas que ça change quelque chose, mis à part que le cron se met pour tous les utilisateurs ou juste l'utilisateur courant, quelque chose comme ça.

En effet, quand je redirige la sortie vers un fichier ça fonctionne bien, le problème n'était donc pas loin et heuresement car je ne peux pas lire les logs de crontab! (je n'ai pas les droits là où je travaille).

Merci!

  • Partager sur Facebook
  • Partager sur Twitter
2 août 2019 à 15:40:59

une bonne "convention", il est mieux d'éditer crontab via "crontab -e"

tout à fait.

le cron se met pour tous les utilisateurs

entre autre.
il faut en plus disposer des droits root pour éditer ce fichier, et redémarrer le daemon cron pour que les modifications soient prises en compte.

ce n'est donc décidément pas une solution à préconiser.

  • Partager sur Facebook
  • Partager sur Twitter

Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique