Substitua seu comando por /sbin/service httpd restart
.
Ou como apontado nos comentários: a definição de um PATH em /etc/crontab
, incluindo /sbin
e /usr/sbin
, deve ser suficiente.
Estou usando o Plesk 12 + CentOS 6.
Eu ssh em root
conta e uso crontab -e
para criar a seguinte entrada:
* * * * * service httpd restart
Espero que ele reinicie o apache a cada minuto (apenas para testar / depurar o funcionamento)
Eu verifiquei o status do apache usando service httpd status
e o PID é sempre o mesmo, e o apache não está reiniciando.
Eu verifiquei /var/log/cron
que o comando está sendo executado.
Feb 7 16:11:01 srv104 CROND[15620]: (root) CMD (service httpd restart)
No entanto, todas as outras entradas no crontab
estão sendo executadas corretamente.
Se eu executar o comando service httpd restart
manualmente no terminal do shell, o apache estará reiniciando corretamente com um novo PID atualizado.
Existe alguma medida preventiva em vigor de tal forma que service
não possa ser executado em root cronjob
?
Por que meu crontab não é trabalhando, e como posso resolver isso? tem algumas dicas úteis, mas não aborda minha situação específica mencionada na pergunta original acima.
Solução de trabalho:
Se eu especificar o caminho completo para o /sbin/service
, por exemplo. /sbin/service httpd restart
no cronjob, como mencionado na resposta aceita, funciona.
Não tenho certeza se a versão do sistema operacional está relacionada, mas simplesmente com o PATH
em vigor em /etc/crontab/
não ajuda na minha situação.