MRTG Script - HD 1TB [RESOLVIDO]

1. MRTG Script - HD 1TB [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 30/03/2010 - 15:21h

Buenas senhores,
estou com um problema que para alguns é fichinha, mas para mim eh bem complexo. vejamos:
Tenho esse script para verficar o espaço disponível no HD de BKP:
#----------------------------------------------------------------
#!/bin/bash
#este script concorda com os termos da gpl
#(!c) Cesar Augusto Fresqui - boyhammer@yahoo.com
#copie para /usr/local/bin/mrtg-hd.sh
#chmod +x /usr/local/bin/mrtg-hd.sh
if [ -e $1 ]
then
printf "parametro ausente\n"
else
total=`df | grep $1 | awk '{print $2}'`
livre=`df | grep $1 | awk '{print $3}'`
ocupado=`df | grep $1 | awk '{print $4}'`
percent_oc=$(($ocupado * 100 / $total))
percent_li=$((100 - $percent_oc))
#echo total: $total
#echo $ocupado
#echo $livre
echo "$percent_oc"
echo "$percent_li"
fi
#------------------------------------------------------
Quando eu executo com o hd principal:
servidor:/home/fba# sh mrtgstats-gav.sh sda1
66
34
Normal.. ele faz o que tem que ser feito.
Ja com o HD de 1 Tera (está em uma gaveta USB)
vejam:
servidor:/home/fba# sh mrtgstats-gav.sh sdb1
mrtgstats-gav.sh: line 13: 743366672
743366672 * 100 / 976283280
976283280: syntax error in expression (error token is "743366672 * 100 / 976283280
976283280")
alguem pode ajudar?

grato pela atenção!


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/03/2010 - 20:05h


percent_oc=$(df | grep $1 | awk '{print $5}' | sed 's/[^0-9]//')

percent_li=$((100 - $percent_oc))

3. Re: MRTG Script - HD 1TB [RESOLVIDO]

William Maggi Pardalz
pardalz

(usa Debian)

Enviado em 31/03/2010 - 17:16h

Resolvido! Aliás, ficou melhor do que tava, ficou mais preciso!
Muito Obrigado pela sua atenção Ronim.
by the way, vc pode me explicar o que vc fez?


4. Explicando

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/04/2010 - 21:44h



percent_oc=$(df | grep $1 | awk '{print $5}' | sed 's/[^0-9]//')


- o awk pega quanto esta sendo usado em porcentagem - quinta coluna;
- o sed retira todos os caracteres que não sejam numeros (ex: % e espaços).



dai é um abraço:

percent_li=$((100 - $percent_oc))

PORCENTAGEM_LIVRE = PORCENTAGEM_TOTAL(100%) - PORCETAGEM_EM_USO






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts