web-dev-qa-db-fra.com

Crontab - écho simple ne fonctionne pas

J'ai une telle situation: Je veux planifier un travail avec crontab sur un serveur linux. Je ne suis pas un super-utilisateur, donc je modifie (avec crontab -l, editor vim) uniquement mon fichier crontab. Pour les tests, j'y ai mis:

* * * * * echo asdf

Et le travail ne court pas. Le redémarrage du serveur est-il nécessaire? Ou peut-être qu'un administrateur déménage?

11
zlenyk

Peut-être que les tâches cron seront exécutées dans leur propre shell. Vous ne pouvez donc pas vous attendre à voir asdf sur votre console.

Ce que vous devriez essayer, c'est 

* * * * * echo asdf > somefile_in_your_home_directory_with_complete_path.log

Ensuite, vérifiez le fichier en faisant une queue:

tail -f somefile_in_your_home_directory_with_complete_path.log

Et si ce n'est pas le cas, vérifiez si le démon cron lui-même est en cours d'exécution ou est arrêté:

# pgrep crond

OR

# service crond status
22
Kedar Parikh

Pour moi, * * * * * /bin/echo text > file ne fonctionne pas ... Je ne sais pas pourquoi, les previlèges et tout est défini . (Cette commande est exécutée normalement lorsque je l'exécute en tant qu'utilisateur root , Juste pour clarifier ceci.) Ceci peut être résolu en injectant le chemin PATH=$PATH:/bin dans mon exemple.

Au lieu de cela, * * * * * echo text > file fonctionne bien, probablement un problème de chemin.

J'espère que j'ai aidé

0
Alexander El-kady