[gilug.org] informarecursos, primera versio

Narcis Garcia - GiLUG informatica actiu net
2008-05-19 16:58:57 UTC


Ja tinc enllestida una versió estable del programet (script) que estava
preparant.
Transcric el codi font, que es pot copiar i enganxar en un fitxer de
text tal com "informarecursos.sh". Aleshores el podem fer executable,
configurar-lo i provar-lo.
Configurar-lo només consisteix en ajustar els paràmetres explicats al
propi entorn i gust.

#!/bin/sh
# Sondeig de recursos disponibles.
# Versio 2008.05.19
# Copyleft (GNU GPL) Narcis Garcia Langa
# http://www.actiu.net/informatica/

# CONFIGURACIO1: UNITAT DE MESURA PER A DISCS
# Bytes: 1
# KB: 1024
# MB: $((1024*1024))
# GB: $((1024*1024*1024))
# * La mesura del bloc s'arrodonira per proximitat: Si es posa la mida
de bloc en 1GB, aleshores 4.7GB es consideren 5GB.
AbreviaturaMesura=GB
MidaBlocMesura=$((1024*1024*1024))

# CONFIGURACIO2: PARTICIONS O DISCS A SONDEJAR (deixar en blanc els que
no cal sondejar)
# * Utilitzeu la comanda "df" per a veure els sistemes de fitxers
disponibles
# * El nom del disc, amb "df" ha d'aparèixer a la mateixa linia que les
xifres. Una alternativa és identificar-lo per la mida (veure df -B
MidaBlocMesura)
Disc1=sdb5
BlocsLliuresMinim1=1
Disc2=sda1
BlocsLliuresMinim2=1
Disc3=
BlocsLliuresMinim3=
Disc4=
BlocsLliuresMinim4=
Disc5=
BlocsLliuresMinim5=
Disc6=
BlocsLliuresMinim6=
Disc7=
BlocsLliuresMinim7=
Disc8=
BlocsLliuresMinim8=
Disc9=
BlocsLliuresMinim9=

# CONFIGURACIO3: MEMORIA DE TREBALL (deixar en blanc allò que no es
vulgui sondejar)
# * unitat de mesura: sempre en MB
RAMLliureMinim=128
SwapLliureMinim=128

# CONFIGURACIO4: AVISOS PER CORREU-E (deixar destinatari en blanc per a
no enviar correus)
# * Requereix tenir habilitat algun servidor de correu electrònic per a
fer enviaments amb la comanda "mail".
# [EnviarSempre] posar-lo a 1 per a què també envii si els nivells són
bons, o posar-lo a 0 per a enviar només sota mínims.
EnviarSempre=1
CorreuDestinacio=

if [ "$1" = "--v1disc" ] || [ "$1" = "--vram" ] || [ "$1" =
"--vswap" ] ; then
	if [ "$1" = "--v1disc" ] ; then
		if [ "$9" = "" ] ; then  # Comprovacio de si la mateixa línia (df) no
tenia identificació de disc
			DiscActualLliure=$6
		else
			DiscActualLliure=$7
		fi
		if [ $DiscActualLliure -gt $3 ] ; then
			echo "El disc $2 mante un bon nivell ($DiscActualLliure
$AbreviaturaMesura lliures)" >> /tmp/informarecursos.txt
		else
			echo "ATENCIO: El disc $2 nomes te $DiscActualLliure
$AbreviaturaMesura lliures, doncs no supera el minim de $3
$AbreviaturaMesura." >> /tmp/informarecursos.txt
			printf " $2" >> /tmp/informarecursos.sot
		fi
	fi
	if [ "$1" = "--vram" ] ; then
		if [ $5 -gt $RAMLliureMinim ] ; then
			echo "La memoria immediata (RAM) mante un bon nivell ($5 MB lliures)"
>> /tmp/informarecursos.txt
		else
			echo "ATENCIO: La memoria immediata (RAM) nomes te $5 MB lliures,
doncs no supera el minim de $RAMLliureMinim."
>> /tmp/informarecursos.txt
			printf " RAM" >> /tmp/informarecursos.sot
		fi
	fi
	if [ "$1" = "--vswap" ] ; then
		if [ $5 -gt $SwapLliureMinim ] ; then
			echo "La memoria virtual (Swap) mante un bon nivell ($5 MB lliures)"
>> /tmp/informarecursos.txt
		else
			echo "ATENCIO: La memoria virtual (Swap) nomes te $5 MB lliures,
doncs no supera el minim de $SwapLliureMinim."
>> /tmp/informarecursos.txt
			printf " Swap" >> /tmp/informarecursos.sot
		fi
	fi
else
	rm -f /tmp/informarecursos.txt
	rm -f /tmp/informarecursos.sot
	if [ "RAMLliureMinim" != "" ] ; then
		$0 --vram `free -m | grep Mem:`
	fi
	if [ "SwapLliureMinim" != "" ] ; then
		$0 --vswap `free -m | grep Swap:`
	fi
	if [ "$Disc1" != "" ] && [ "$BlocsLliuresMinim1" != "" ] ; then
		$0 --v1disc $Disc1 $BlocsLliuresMinim1 `df -B $MidaBlocMesura | grep
$Disc1`
	fi
	if [ "$Disc2" != "" ] && [ "$BlocsLliuresMinim2" != "" ] ; then
		$0 --v1disc $Disc2 $BlocsLliuresMinim2 `df -B $MidaBlocMesura | grep
$Disc2`
	fi
	if [ "$Disc3" != "" ] && [ "$BlocsLliuresMinim3" != "" ] ; then
		$0 --v1disc $Disc3 $BlocsLliuresMinim3 `df -B $MidaBlocMesura | grep
$Disc3`
	fi
	if [ "$Disc4" != "" ] && [ "$BlocsLliuresMinim4" != "" ] ; then
		$0 --v1disc $Disc4 $BlocsLliuresMinim4 `df -B $MidaBlocMesura | grep
$Disc4`
	fi
	if [ "$Disc5" != "" ] && [ "$BlocsLliuresMinim5" != "" ] ; then
		$0 --v1disc $Disc5 $BlocsLliuresMinim5 `df -B $MidaBlocMesura | grep
$Disc5`
	fi
	if [ "$Disc6" != "" ] && [ "$BlocsLliuresMinim6" != "" ] ; then
		$0 --v1disc $Disc6 $BlocsLliuresMinim6 `df -B $MidaBlocMesura | grep
$Disc6`
	fi
	if [ "$Disc7" != "" ] && [ "$BlocsLliuresMinim7" != "" ] ; then
		$0 --v1disc $Disc7 $BlocsLliuresMinim7 `df -B $MidaBlocMesura | grep
$Disc7`
	fi
	if [ "$Disc8" != "" ] && [ "$BlocsLliuresMinim8" != "" ] ; then
		$0 --v1disc $Disc8 $BlocsLliuresMinim8 `df -B $MidaBlocMesura | grep
$Disc8`
	fi
	if [ "$Disc9" != "" ] && [ "$BlocsLliuresMinim9" != "" ] ; then
		$0 --v1disc $Disc9 $BlocsLliuresMinim9 `df -B $MidaBlocMesura | grep
$Disc9`
	fi
	if [ -f /tmp/informarecursos.sot ] ; then
		echo "[`uname -n`] `cat /tmp/informarecursos.sot` sota nivell"
	else
		echo "[`uname -n`] amb recursos a nivell"
	fi
	cat /tmp/informarecursos.txt
	echo "" >> /tmp/informarecursos.txt
	echo "INFORME ORIGINAL DE MEMORIA DE TREBALL (free -m)"
>> /tmp/informarecursos.txt
	free -m >> /tmp/informarecursos.txt
	echo "" >> /tmp/informarecursos.txt
	echo "INFORME ORIGINAL D'US DE DISCS (df -hT)"
>> /tmp/informarecursos.txt
	df -hT >> /tmp/informarecursos.txt
	if [ "$CorreuDestinacio" != "" ] ; then
		if [ -f /tmp/informarecursos.sot ] ; then
			cat /tmp/informarecursos.txt | mail  -s "[`uname -n`]
`cat /tmp/informarecursos.sot` sota nivell" $CorreuDestinacio
			echo "S'ha enviat l'alerta completa a: $CorreuDestinacio"
		else
			if [ "$EnviarSempre" = "1" ] ; then
				cat /tmp/informarecursos.txt | mail  -s "[`uname -n`] amb recursos a
nivell" $CorreuDestinacio
				echo "S'ha enviat l'informe complet a: $CorreuDestinacio"
			fi
		fi
	fi
fi

-------------- part següent --------------
Un document HTML ha estat eliminat...
URL: <https://llista.gilug.org/pipermail/usuaris/attachments/20080519/fd55ac8b/attachment.html>


More information about the gilug mailing list