Tentando parar um serviço com o cron

2

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?

    
por Luke Stapley 05.07.2011 / 22:12

3 respostas

4

Parece que /sbin não está em $PATH ao iniciá-lo no cron. Adicione uma linha como

PATH = /sbin:$PATH

para o arquivo crontab.

    
por Florian Diesch 05.07.2011 / 22:40
2

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.

    
por james 07.11.2011 / 20:39
1

Hummm ... é estranho que o cron esteja tentando "parar" ...

Tente fazer o cron rodar isso:

sh -c '/usr/sbin/service powernap stop'
    
por Andrew Gunnerson 05.07.2011 / 22:54