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.