On May 25, 2011, at 9:25 AM, irado furioso com tudo wrote:

> Em Mon, 23 May 2011 22:41:56 -0300
> Giancarlo Rubio <[email protected]>, conhecido consumidor/usuário de
> drogas (Windows e BigMac com Coke) escreveu:
> 
>> /var/log/cron ou cron -x ??
>> 
> 
> olá, rubio e demais colegas.
> 
> voltando ao assunto (e ao trampo) examinei o log e aí a coisa ficou
> clara como lama de uma vez:
> 
> "alguns" aplicativos funcionam normalmente, mas NÃO todos. Por exemplo,
> tomemos trecho do log:
> 
> May 25 08:55:00 maquina01 /usr/sbin/cron[30880]: (operator) CMD
> (/usr/libexec/save-entropy) May 25 08:55:00 maquina01 /usr/sbin/cron
> [30881]: (root) CMD (/usr/libexec/atrun)
> 
> :.comentario:
> 
> as duas linhas acima mostram o funcionamento normal de dois comandos
> existentes no /etc/crontab
> 
> :/end comentario
> 
> May 25 08:55:00 maquina01 /usr/sbin/cron[30882]: (root) CMD
> (/usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null
> 2>&1) 
> 
> :comentário: a linha acima mostra um script que NÃO funciona
> quando chamado pelo /etc/crontab; funciona SEM alteração se no
> crontab de usuário (crontab -e)
> /end comentario
> 
> a partir daí, tudo se repete. Além disso, noto o seguinte: o "periodic"
> nêsse /etc/crontab não funciona, portanto TUDO o que está nos
> cron.daily, cron.hourly, cron.monthly é ignorado. Contudo, periodic
> ativado diretamente no console e apontado para o período próprio:
> 
> /usr/sbin/periodic { daily | weekly | monthly }
> 
> também funciona normalmente.
> 
> (re)lembrando: o /etc/crontab é o da instalação, intocado, então
> imagino não haja problemas com êle (exceto não funcionar).
> 
> bem.. vou continuar olhando essas coisas por aqui, pra mim, nada claro,
> e vamos ver; curioso, né?
> 
> grato,
> 

Irado,

Pelo que eu me lembre, a única diferença do cron de um usuário comum 
(/var/cron/tabs/XXXX) para o cron do root (/etc/crontab) é o PATH que é 
diferenciado.

Ele é setado logo nas primeiras linhas do arquivo (/etc/crontab):

# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: head/etc/crontab 194170 2009-06-14 06:37:19Z brian $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin


Esse PATH é diferente do PATH que você tem quando executa um programa no 
prompt, por exemplo (no meu caso):

devel# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin

Experimente executar o script problemático com o mesmo PATH utilizado pelo cron 
e o seu problema deve aparecer (algo como):

# env PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin /usr/local/bin/php 
/usr/local/share/cacti/poller.php

Provavelmente esse script utiliza algum aplicativo que fica fora do PATH 
especificado no cron.

Se ele aparece lá no log do cron como você mostrou:

> May 25 08:55:00 maquina01 /usr/sbin/cron[30882]: (root) CMD
> (/usr/local/bin/php /usr/local/share/cacti/poller.php > /dev/null
> 2>&1) 

É pq ele foi executado (agora se ele foi executado com sucesso ou não é que é a 
questão).

Também desconheço qualquer problema com o periodic (que é um simples shell 
script em /usr/sbin/periodic, relativamente facil de voce debugar) que não seja 
relacionado aos problemas com o PATH do cron.

Bem é isso, qualquer novidade é só avisar.

[]'s
Luiz

-------------------------
Histórico: http://www.fug.com.br/historico/html/freebsd/
Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

Responder a