[FUG-BR] /etc/crontab NÃO executando

Luiz Otavio O Souza lists.br em gmail.com
Terça Maio 24 11:47:27 BRT 2011


On May 24, 2011, at 8:43 AM, irado furioso com tudo wrote:
> Em Tue, 24 May 2011 08:08:07 -0300
> Eduardo Lemos de Sa <eduardo.lemosdesa em gmail.com>, conhecido
> consumidor/usuário de drogas (Windows e BigMac com Coke) escreveu:
> 
>> Pode ser óbvio demais, mas não custa lembrar: há muito tempo aprendi
>> que para rodar scripts (com o at ou crontab) é preciso ter o usuário
>> cadastrado no /var/cron/allow (por via das dúvidas, eu criava também
>> um /var/cron/cron.allow com o mesmo conteúdo do
>> arquivo /var/cron/allow).
> 
> mas não há um "usuário" na verdade, uma vez que o /etc/crontab é do
> próprio sistema; buscando no google nota-se que o assunto é recorrente
> (o primeiro que achei era de 2004, FreeBSD 4.0, salvo engano).
> 
> mas enfim: sendo o /etc/crontab algo do sistema, não há um "usuário" a
> ser autorizado. Pelo menos eu desconheço.
> 
> e note: um crontab para QUALQUER usuário funciona normalmente; quanto
> a espaços, etc, o /etc/crontab está como foi instalado, não foi feito
> qualquer "enxêrto" nêle.

Irado,

O /etc/crontab pode rodar scripts de qualquer usuário (que é especificado na sexta coluna do arquivo), veja o exemplo abaixo (adicionado no /etc/crontab):

# Teste Irado
*/2     *       *       *       *       root    echo `date` >> /tmp/cronlog

Depois de salvar o arquivo eu dei um tail -f no /var/log/cron até identificar o 'reload' do arquivo (isso é feito automaticamente):

fw# tail -f /var/log/cron
[...]
May 24 08:56:01 fw /usr/sbin/cron[2033]: (*system*) RELOAD (/etc/crontab)
May 24 08:56:01 fw /usr/sbin/cron[45302]: (root) CMD (echo `date` >> /tmp/cronlog)

No fim ele foi executado logo após o reload:

fw# cat /tmp/cronlog 
Tue May 24 08:56:01 BRT 2011
Tue May 24 08:58:00 BRT 2011
Tue May 24 09:00:01 BRT 2011

Att.,
Luiz


Mais detalhes sobre a lista de discussão freebsd