[SP-pm] [OFF-TOPIC] Cron
Luis Motta Campos
luismottacampos em yahoo.co.uk
Quinta Abril 17 14:22:17 PDT 2008
André Garcia Carneiro wrote:
> Olá Pessoal!
>
> Estou com um problema que parece ser simples, mas não menos chato!
> Tenho no meu crontab uma linha assim:
>
> 00 14 * * * /usr/bin/perl
> /home/joenio/workcopy/scap/alter_americanas_xml.pl
>
> Ele deveria rodar esse script perl(alter_americanas_xml.pl), mas não
> roda de jeito nenhum. Não tem erros, e se eu rodo 'na mão', ele
> funciona. O usuário é o mesmo, então o que está errado? Que tipo de
> restrição o cron tem para rodar coisas? E onde ele grava o bendito
> log, que eu não acho. Fiz RTFM no man do cron, mas não obtive nada
> útil... Se alguém tiver alguma informação, agradeceria se me
> passasse.
O Cron loga para o syslog. Isso quer dizer que os logs que você procura
estão em /var/log/{messages,syslog}
O cron também (nos linuxes) pode mandar stdout / stderr para um email.
Seta MAIL=teu em email.com no começo do teu crontab, e coloca o teu script
em "verbose mode".
> Alguém me disse que o script não funcionaria, se tivesse 'prints' na
> tela. Não fez muito sentido pra mim, mas de qualquer forma, as saídas
> do script vão para um log em arquivo, então não parece ser esse o
> problema.
O Cron também registra a tentativa de execução (e mensagens de erro) no
syslog. TEM de estar lá, ou você não colocou esta coisa no cron.
Como você edita o teu crontab, e onde voce coloca o teu arquivo de jobs?
Outra coisa: dependendo que que crontab você está usando, o Cron vai
usar permissões diferentes das tuas para tentar rodar o programa.
Certifique-se de que você pode ler e executar o programa, e que você
pode ler os diretórios para cima, até o "/".
Espero que isso ajude.
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão SaoPaulo-pm