Verificar tamanho [RESOLVIDO]

1. Verificar tamanho [RESOLVIDO]

Claudemir Santos
tech14107

(usa Red Hat)

Enviado em 08/12/2011 - 11:06h

Bom dia pessoal.
Estou precisando de um auxilio, preciso monitorar o crescimento de varios arquivos, tipo se o tamnho de um determinado arquivo chegar a 1.8GB eu quero que ele rode um comando.
Podem me ajudar estou meio perdido com a forma de como olhar esse tamnho

Grato


  


2. MELHOR RESPOSTA

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 08/12/2011 - 11:56h

Fiz um script rapido aqui com loop infinito, veja se da certo.

Seria melhor vc inserir o 1.8G em bytes, que resulta em 1932735283125. Tem um site para vc converter se achar necessário (http://www.t1shopper.com/tools/calculate).
Caso o tamanho do arquivo seja maior ou igual a 1.8G a mensagem será mostrada, aí basta vc inserir os comandos no lugar do "echo", se quiser pode inserir um 'elif' se necessário.



while true
do
if [ "$(ls -l seu_arquivo.txt | awk '{print $5}')" -ge "1932735283125" ]; then

echo "Maior ou igual a 1.8G"

fi

sleep 1

done



3. Re: Verificar tamanho [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 08/12/2011 - 11:08h

teste com isso
$ls -lh <nome do arquivos> | awk '{ print $5}'

espero que ajude


4. Re: Verificar tamanho [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 08/12/2011 - 11:30h

Use o du

du -h arquivo

ele traz um resultado como
4.0K arquivo

Ai basta fazer um cut simples


TAMANHO=$(du -h arquivo | cut -d' ' -f1)





5. Re: Verificar tamanho [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 08/12/2011 - 12:03h

Pode usar o script acima, trocando o ls, pelo du -h que traz o resultado como 1.8GB, usar o mesmo valor em bytes é muito critico, pois só serve se vc quiser exatamente essa quantidade de bytes, se passar um zinho que seja não satisfaz o if.




6. Re: Verificar tamanho [RESOLVIDO]

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 08/12/2011 - 12:27h

rai3mb escreveu:

Pode usar o script acima, trocando o ls, pelo du -h que traz o resultado como 1.8GB, usar o mesmo valor em bytes é muito critico, pois só serve se vc quiser exatamente essa quantidade de bytes, se passar um zinho que seja não satisfaz o if.



Então rai3mb, tb pensei nesta possibilidade, mas para a condição do if dar certo ele não tem como comparar 1.8G com 250M, o resultado será, por exemplo: -bash: [: 48K: integer expression expected , pois devem ser apenas numeros (sem caracteres).
No inicio tinha pensado na sua solução, mas qdo fui testar no meu terminal enxerguei este detalhe.



7. Re: Verificar tamanho [RESOLVIDO]

Claudemir Santos
tech14107

(usa Red Hat)

Enviado em 08/12/2011 - 13:28h

Valeu pessoal ja me deu uma luz enorme, vou optar por comparar mesmo o tamanho em kb mesmo.
mas muito obrigado


8. Re: Verificar tamanho [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 08/12/2011 - 13:36h

tranquilo
se estiver ok podes marcar como resolvido
e se quisar marcar a melhor resposta

qualquer coisa estamos ai
Abraço


9. Re: Verificar tamanho [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 08/12/2011 - 13:36h

Você poderia usar o FIND ... ou não?

Tipo:
find /DIR/ -name arq\* -type f -size +1200k -exec ls -l {} \;

Neste exemplo estou:
1) procurando a partir do diretório chamado DIR
find /DIR/

2) arquivos chamados arq*
-name arq\*

3) tipo apenas arquivos (file)
-type f

4) tamanho acima de 1200Kb
-size +1200k

5) executar um comando ls dos arquivos encontrados
-exec ls -l {} \;

Aqui você poderia pode substituir pelo seu comando tipo:
-exec rm {} \;
-exec mv {} /dir2/ \;
-exec ./seu_script {} \;

Será que isso não ajudaria?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts