Obrigado a todos.
Os problemas eram 2 e nesses casos a gente sempre apanha um pouco.
O primeiro problema eu já havia resolvido quando iniciei essa thread, era relacionado ao SELinux e eu o desativei e o cron passou a ser executado.
Nas tentativas antes de descobrir esse problema o administrador da própria empresa fez alterações no arquivo /etc/crontab e nessa alteração ele colocou o usuário na linha adicionada.
Resolvi dando um "crontab -r" e excluindo as linhas do /etc/crontab, foi nesse momento que percebi o erro nesse arquivo pois as dicas dos colegas aqui me fizeram atentar para do nome do usuário nesse arquivo.
Obrigado.
De: Eden Caldas <edencaldas@gmail.com>
Para: Paulino Kenji Sato <pksato@gmail.com>
Cc: Debian-User <debian-user-portuguese@lists.debian.org>
Enviadas: Quinta-feira, 6 de Outubro de 2011 18:12
Assunto: Re: crontab não executa comando
Não coloca o nome do usuário dentro do crontab do root, como já disseram.
Outra coisa. Se liga que o path do crontab é diferente do shell padrão em login. Talvez esses scripts php aí estejam rodando algo que precise
do path completo.
Você poderia então criar um script com o path padrão e esses seus dois comandos aí.
Cria o script assim:
su -
echo '#!/bin/bash' > /root/script.sh
echo $PATH >> /root/script.shecho '/usr/bin/php /home/httpd/html/script1.php' >> /root/script.sh
echo '/usr/bin/php /home/httpd/html/script2.php' >> /root/script.sh
chmod +x /root/script.sh
Agenda o script criado no crontab:
crontab -e
0,30 * * * * /root/script.shEden Caldas
Consultor de TI
eden@linuxfacil.srv.br(81) 9653 7220
LINUX FÁCIL – Consultoria e Serviços em TI
Em 6 de outubro de 2011 16:45, Paulino Kenji Sato
<pksato@gmail.com> escreveu:
Ola...
2011/10/6 Cleber Ianes <cleberianes@yahoo.com.br>:
> Saudações.
> Outro dia me foi solicitado para fazer um servidor centOS executar um
> determinado comando a cada 30 minutos.
Vai ver pq não e um debian. [:)]
> Logo pensei: "Eita dinheirinho fácil, 5 minutos faço isso!"
> Ledo engano.
> Como root executei o comando "crontab -e" e inseri as linhas:
> */30 * * * * root /usr/bin/php
> /home/httpd/html/script1.php
Editou o crontab de que usuário (obviamente do root)?
o crontab do usuário tem o seguinte formato
min hora dia mes semana comando argumentos
Somente quando se usa o "system wide", ou seja os agendamentos que
estão no /etc/crontab ou em um dos arquivos em /etc/cron.d/ que se
usa o campo do usuário.
Mas, tem certeza que e necessário rodar um script em PHP como root?
Pensou nas implicações de segurança disso?
Recomendo que leia o manual do cron e do crontab(5) do sistema onde
esse script ira rodar (no debian existem ao menos 3 ferramentas de
crond).
Paulino
Archive: http://lists.debian.org/CAMM-fMiAP27MCZ9OkoVcQNuú9_m4cLs54AfZtzwT67Xxg3w@mail.gmail.com