Sur mon serveur Ubuntu 11.04 lorsque j'essaie de courir
service powernap stop
en tant que tâche cron avec l'utilisateur root, il échoue et me donne ce message dans syslog
NAS CRON[10853]: (CRON) error (grandchild #10854 failed with exit status 2)
et cela est envoyé par courrier électronique au compte de messagerie de l'utilisateur root
exec: 129: stop: not found
Je peux démarrer et arrêter le service powernap à partir de la ligne de commande, alors pourquoi ne fonctionne-t-il pas avec cron?
On dirait que /sbin
n'est pas dans $PATH
lors du démarrage à partir de cron. Ajouter une ligne comme
PATH = /sbin:$PATH
dans le fichier crontab.
J'ai eu exactement ce problème, et il semblerait que la variable $PATH
soit complètement vide lorsque crontab est exécuté. Il ne suffit donc pas de placer PATH=/usr/sbin;$PATH
en haut de la liste des crontabs.
Donc, ce que j'ai fait était (puisque je lance cette crontab en tant que root, je peux donc désactiver le proxy squid):
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
et cela semble avoir fonctionné.
Hmmm ... c'est étrange que cron essaie de courir "stop" ...
Essayez de faire fonctionner cron à la place:
sh -c '/usr/sbin/service powernap stop'