Re: Script não roda completo pelo crontab
On 10/20/05, Marcos wrote:
> Funcionou parcialmente:
>
> O script dessa maneira funciona. Comentei a linha do "echo" e o cron rodou
> o script até o final mandando a saida do outro echo para o arquivo. Foram
> todos os usuarios certinho. Se eu descomente o primeiro echo ele é
> interrompido em certo ponto.
> Vou deixar rodando sem o primeiro echo e descomentar o tar pra ver se ele
> vai fazer o tar de todo mundo.
> Amanhã posto o resultado.
> Valeu a atenção de todos.
>
>
> root@sax:~# cat /scripts/bkpusers.sh
> #!/bin/sh
>
>
> #################### USUARIOS
> ######################################
> #ls /dados/home > /scripts/users.txt
> for i in `ls /dados/home`; do
> #echo "tar -czf /backup/$k.tar.gz /dados/home/$k"
> #tar -czf /backup/$i.tar.gz /dados/home/$i
> echo "tar -czf /backup/$i.tar.gz /dados/home/$i - `date`" >>
> /scripts/loguserbkp.txt
> done
Um chute:
Algumas coisas no Linux podem estabelecer limites de execução para um
processo (ver módulo pam-limits -- se não me engano). Um processo pode
ser limitado a um tempo de uso da CPU, quantidade de memória,
quantidade de E/S, etc.
É possível que o cron esteja colocando algum limite para o script e
esse limite não está sendo respeitado, o que faz o script receber um
sinal KILL. Se comentar o echo do início faz o script rodar pode ser
que o limite esteja na quantidade de dados escritos na saída padrão.
Isso pode ser verificado redirecionando esse echo para um arquivo e
fazendo um outro script, sem nenhuma relação com esse que escreve
muita coisa. Como o cron guarda o que foi escrito na saída padrão para
poder mandar por e-mail depois, é bem provável que haja um limite
assim mesmo.
Talvez o limite tenha valor somente para o processo que o cron chama,
mas não para seus filhos. Assim, vale tentar colocar o script no
diretório cron.hourly para ver se acontece o mesmo erro.
--
Bruno de Oliveira Schneider
http://www.dcc.ufla.br/~bruno/
Reply to: