Parece que /sbin
não está em $PATH
ao iniciá-lo no cron. Adicione uma linha como
PATH = /sbin:$PATH
para o arquivo crontab.
No meu servidor Ubuntu 11.04 quando tento executar
service powernap stop
como uma tarefa cron com o usuário root, ele falha e me fornece essa mensagem no syslog
NAS CRON[10853]: (CRON) error (grandchild #10854 failed with exit status 2)
e isso é enviado por email para a conta de e-mail dos usuários raiz
exec: 129: stop: not found
Eu posso iniciar e parar o serviço powernap a partir da linha de comando, então por que ele não funciona no cron?
Parece que /sbin
não está em $PATH
ao iniciá-lo no cron. Adicione uma linha como
PATH = /sbin:$PATH
para o arquivo crontab.
Eu tive exatamente este problema, e parece que a variável $PATH
está completamente vazia quando o crontab é executado, então não é suficiente colocar PATH=/usr/sbin;$PATH
no topo da lista crontab.
Então, o que eu fiz foi (desde que eu estou rodando este crontab como root, então eu posso desligar o proxy do squid):
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
e parece ter funcionado.
Hummm ... é estranho que o cron esteja tentando "parar" ...
Tente fazer o cron rodar isso:
sh -c '/usr/sbin/service powernap stop'