shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Compactar e limpar arquivo maior que 900M (arquivo de


From: Julio C. Neves
Subject: Re: [shell-script] Compactar e limpar arquivo maior que 900M (arquivo de log)
Date: Mon, 15 Jan 2007 14:15:09 -0200

Fala Renato,
vc deve ter esquecido que o if do Shell testa comandos, e não condições.
Assim sendo, poderia ficar algo assim:

if find .... > /dev/null  # para a saída do find não ir para a tela
then
    ...
    ...
fi

Ou então, sem o if:

find .... && {
    ....
    ....
}

Mesmo que vc conheça o uso do if, vale a pena vc dar uma olhada em
www.julioneves.com pq o assunto foi abordado com tanta profundidade que é
muito provável que tenha alguma (ou muita) coisa que vc não conheça. Se não
me engano, este uso do if está explicado no Papo de Botequim 4 (ou será no
5?).

Abração,
Julio
:wq
www.julioneves.com - Um livro de Shell livre e online

Em 15/01/07, Renato Diogo <address@hidden> escreveu:
>
>   valew pela resposta
>
> mas o q vc quiz dizer é tipo assim?
>
> BASE=`find [caminho_do_ dir] -size +921600k -name
> "arquivo.log"`
> if [ -n $BASE ];
> then
> tar zcfsp arquivo_data.tar.gz $BASE;
> echo > $BASE;
> fi
>
> ?
>
> []s
>
> --- "Julio C. Neves" <address@hidden <julio.neves%40gmail.com>>
> escreveu:
>
> > Aê Renato,
> > find [caminho_do_dir] -size +921600k -name
> > "arquivo.log" | xargs bash -c
> > "tar zcfsp arquivo_data.tar.gz {}; > {}; echo {}
> > recriado"
> >
> > Mas se o arquivo.log não tiver estourado, acho que
> > isso vai dar encrenca.
> > Então, acho melhor vc fazer o find somente o find e
> > caso ele seja bem
> > sucedido (se o arquivo for maior que o estipulad,
> > então vc executa o que
> > pretende.
> >
> > Abração,
> > Julio
> > :wq
> > www.julioneves.com
> >
> >
> > Abração,
> > Julio
> > :wq
> >
> >
> > Em 15/01/07, Renato Diogo <address@hidden<rdiogo01%40yahoo.com.br>
> >
> > escreveu:
> > >
> > > Olá pessoal
> > >
> > > percisaria de um script que verifique se um
> > arquivo
> > > atingiu o tamanho de 900M e, se positivo, compacte
> > > este arquivo e zere este arquivo (sem apagá-lo).
> > >
> > > O arquivo é um só e é conhecido.
> > >
> > > Para esta tarefa sei que poderia usar os comandos
> > em
> > > sequencia abaixo:
> > > ==
> > > find [caminho_do_dir] -size +921600k -name
> > > "arquivo.log" -exec tar zcfsp arquivo_data.tar.gz
> > {}
> > > \;
> > > find [caminho_do_dir] -size +921600k -name
> > > "arquivo.log" | xargs -i bash -c "echo > {}"
> > > ==
> > >
> > > porém creio que isto possa ser melhorado, pois:
> > > Estou usando dois "find" para um mesmo arquivo, ou
> > > seja, não está otimizado;
> > > CRITICO, no primeiro comando, o arquivo pode não
> > estar
> > > com o tamanho mínimo para compactar e no segundo
> > ele
> > > atingir e eu perder o arquivo.
> > >
> > > Alguem tem alguma sugestão?
> > >
> > > []s
> > >
> > > ________________________________________________
> > > Renato de Oliveira Diogo
> > >
> > > Bacharel em Ciência da Computação
> > > UNESP - Bauru
> > >
> > > address@hidden <renato.diogo%40gmail.com> <renato.diogo%
> 40gmail.com>
> > > address@hidden <renato.diogo%40yahoo.com.br>
> > <renato.diogo%40yahoo.com.br>
> > >
> > > __________________________________________________
> > > Fale com seus amigos de graça com o novo Yahoo!
> > Messenger
> > > http://br.messenger.yahoo.com/
> > >
> > >
> >
> >
> > [As partes desta mensagem que não continham texto
> > foram removidas]
> >
> >
>
> ________________________________________________
> Renato de Oliveira Diogo
>
> Bacharel em Ciência da Computação
> UNESP - Bauru
>
> address@hidden <renato.diogo%40gmail.com>
> address@hidden <renato.diogo%40yahoo.com.br>
>
> __________________________________________________
> Fale com seus amigos de graça com o novo Yahoo! Messenger
> http://br.messenger.yahoo.com/
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]