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

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

Listar 30 Maiores diretorios com %


From: Ederson A. Silva
Subject: Listar 30 Maiores diretorios com %
Date: Wed, 13 Aug 2003 11:21:59 -0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830

Caros shelleiros,

Eu estou tentando fazer um script que list pra mim os 30 maiores diretorios e seus respectivos tamanhos em Kb e %.
Esse 30 eh ilustrativo. Entaum, teria que ficar assim:

Listagem dos maiores diretórios
/home/dlockwoo           971326   22.08%
/home/shakila            466544   10.61%
/home/abargaje           450406   10.24%
/home/rbirch             209903    4.77%
/home/ichowdhu           163486    3.72%
/home/tshusta            154233    3.51%


Ate onde consegui fazer esta saindo assim:

Relatório de uso de Disco pro Usuario
Diretorio Home em Ambiente de Prod Cert
Wed Aug 13 08:24:21 GMT 2003

900299 22 %
561997 13 %
96557 2 %
61095 1 %
40332 0 %
34003 0 %
21110 0 %

Duvidas e dificuldade: fazer conta com número depois da virgula.
Algum tem mais formas de fazer isso!

Meu script:saida=/u1/home/asilva/script/saida.log
top30=/u1/home/asilva/script/top30.log
size=/u1/home/asilva/script/size.log
texto=/u1/home/asilva/script/texto.log

echo "Relatório de uso de Disco pro Usuario" > $texto
echo "Diretorio Home em Ambiente" >> $texto
date >> $texto
echo >> "  " >> $texto

cd /u1/home
du -sk * | sort -nr | head -30 > $top30
df -k . | grep -v kbytes | awk '{ print $2 }' > $size
x=`cat $size`
for i in `cat top30 | awk '{ print $1 }'`
       do
               b=`expr $i \* 100`
               c=`expr $b / $x`
               echo  $i $c '%' >> $saida
       done
cat $texto  $saida | mailx -s "Diretórios Home"


Obrigado,
Ederson.




reply via email to

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