[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Status de Utilizacao do Disco
From: |
Marco Eloy |
Subject: |
Status de Utilizacao do Disco |
Date: |
Mon, 13 Jan 2003 18:22:34 -0200 |
Hello, Pessoal, como vao?
Criei um script que checa quais os sistemas de arquivos ultrapassaram
uma
determinada cota de utilizacao estipulada a principio em 80% e me avisa por
e-mail se isto ocorreu(como pode ser visto na linha 35). Ha alguns dias
surgiu a necessidade dessa cota ser informada via parametro. Alterei entao a
linha 35 para a 36. Entretanto o comando sempre lista todos os sistemas de
arquivos e nao os que ultrapassaram a cota $1. Isto ocorre porque dentro da
comparacao (if $5 > $X1) ele compara o percentual de utilizacao($5) com a
string $X1 e nao com o VALOR da string $X1 que seria $1.
Alguem ja teve algum problema parecido? Serah que o if nao pode ser usado
com variaveis, e sim soh com valores numericos?
O Script Segue logo abaixo.
Desde jah agradeco qualquer ajuda
Sds
Marco Antonio Eloy
Analista de Suporte/Adm. de TI
Brespel - Cia. Indal Brasil Espanha
55 75 422-2014/422-2712
--------------------------------------------------------------------------
1 #!/bin/bash
2 # Script de Status dos Sistemas de Arquivos
3 # Executando de hora em hora
4 # Criado dia 09-Jan-2003
5 # Design by Eloy
6 #
7 PATH=/sbin:/usr/sbin:/bin:/usr/bin:usr/local/bin
8 export PATH
9 prog=`basename $0`
10 maquina=`hostname`
11 LOG=/var/log/$prog-$$.log
12 LOG2=/var/log/$prog-$$.log2
13 DATA=`date +%A,%d-%b-%Y`
14 HORA=`date +%H:%M:%S`
15 if [ "$1" = "" ] ; then
16 X1=80;
17 else
18 X1=$1;
19 fi
20 cat <<EOF > $LOG
21 A L E R T A D E O V E R L O A D
22
23
24 Alguns Dispositivos Excederam a Cota de $X1%
25
26 Isto Pode Ser Causado por VIRUS, Inprudencia de Alguns Usuarios ou
Problemas
27
28 Pertinentes ao SO. Check o Log Abaixo Para Obter Mais
Detalhes.
29
30 Maquina: $maquina
31 FsCheck Executando em $DATA às $HORA
32 ---------------------------
33 EOF
34
35 #df -h | tr -d % | awk '/\/dev/ { if($5 > 80) print "OVERLOAD: "
$0 }' >> $LOG2
36 df -h | tr -d % | awk '/\/dev/ { if($5 > $X1) print "OVERLOAD: "
$0 }' >> $LOG2
37 if [ -s $LOG2 ]; then
38 cat $LOG2 >> $LOG
39 mail -s "AVISO: OVERLOAD EM $maquina" adm-cpd < $LOG
40 fi
41 rm -f $LOG
42 rm -f $LOG2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Status de Utilizacao do Disco,
Marco Eloy <=