<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.18.1">
</HEAD>
<BODY>
Ja tinc enllestida una versió <I>estable</I> del programet (script) que estava preparant.<BR>
Transcric el codi font, que es pot copiar i enganxar en un fitxer de text tal com "<B>informarecursos.sh</B>". Aleshores el podem fer executable, configurar-lo i provar-lo.<BR>
Configurar-lo només consisteix en ajustar els paràmetres explicats al propi entorn i gust.<BR>
<BR>
#!/bin/sh<BR>
# Sondeig de recursos disponibles.<BR>
# Versio 2008.05.19<BR>
# Copyleft (GNU GPL) Narcis Garcia Langa<BR>
# <A HREF="http://www.actiu.net/informatica/">http://www.actiu.net/informatica/</A><BR>
<BR>
# CONFIGURACIO1: UNITAT DE MESURA PER A DISCS<BR>
# Bytes: 1<BR>
# KB: 1024<BR>
# MB: $((1024*1024))<BR>
# GB: $((1024*1024*1024))<BR>
# * La mesura del bloc s'arrodonira per proximitat: Si es posa la mida de bloc en 1GB, aleshores 4.7GB es consideren 5GB.<BR>
AbreviaturaMesura=GB<BR>
MidaBlocMesura=$((1024*1024*1024))<BR>
<BR>
# CONFIGURACIO2: PARTICIONS O DISCS A SONDEJAR (deixar en blanc els que no cal sondejar)<BR>
# * Utilitzeu la comanda "df" per a veure els sistemes de fitxers disponibles<BR>
# * 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)<BR>
Disc1=sdb5<BR>
BlocsLliuresMinim1=1<BR>
Disc2=sda1<BR>
BlocsLliuresMinim2=1<BR>
Disc3=<BR>
BlocsLliuresMinim3=<BR>
Disc4=<BR>
BlocsLliuresMinim4=<BR>
Disc5=<BR>
BlocsLliuresMinim5=<BR>
Disc6=<BR>
BlocsLliuresMinim6=<BR>
Disc7=<BR>
BlocsLliuresMinim7=<BR>
Disc8=<BR>
BlocsLliuresMinim8=<BR>
Disc9=<BR>
BlocsLliuresMinim9=<BR>
<BR>
# CONFIGURACIO3: MEMORIA DE TREBALL (deixar en blanc allò que no es vulgui sondejar)<BR>
# * unitat de mesura: sempre en MB<BR>
RAMLliureMinim=128<BR>
SwapLliureMinim=128<BR>
<BR>
# CONFIGURACIO4: AVISOS PER CORREU-E (deixar destinatari en blanc per a no enviar correus)<BR>
# * Requereix tenir habilitat algun servidor de correu electrònic per a fer enviaments amb la comanda "mail".<BR>
# [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.<BR>
EnviarSempre=1<BR>
CorreuDestinacio=<BR>
<BR>
if [ "$1" = "--v1disc" ] || [ "$1" = "--vram" ] || [ "$1" = "--vswap" ] ; then<BR>
        if [ "$1" = "--v1disc" ] ; then<BR>
                if [ "$9" = "" ] ; then  # Comprovacio de si la mateixa línia (df) no tenia identificació de disc<BR>
                        DiscActualLliure=$6<BR>
                else<BR>
                        DiscActualLliure=$7<BR>
                fi<BR>
                if [ $DiscActualLliure -gt $3 ] ; then<BR>
                        echo "El disc $2 mante un bon nivell ($DiscActualLliure $AbreviaturaMesura lliures)" >> /tmp/informarecursos.txt<BR>
                else<BR>
                        echo "ATENCIO: El disc $2 nomes te $DiscActualLliure $AbreviaturaMesura lliures, doncs no supera el minim de $3 $AbreviaturaMesura." >> /tmp/informarecursos.txt<BR>
                        printf " $2" >> /tmp/informarecursos.sot<BR>
                fi<BR>
        fi<BR>
        if [ "$1" = "--vram" ] ; then<BR>
                if [ $5 -gt $RAMLliureMinim ] ; then<BR>
                        echo "La memoria immediata (RAM) mante un bon nivell ($5 MB lliures)" >> /tmp/informarecursos.txt<BR>
                else<BR>
                        echo "ATENCIO: La memoria immediata (RAM) nomes te $5 MB lliures, doncs no supera el minim de $RAMLliureMinim." >> /tmp/informarecursos.txt<BR>
                        printf " RAM" >> /tmp/informarecursos.sot<BR>
                fi<BR>
        fi<BR>
        if [ "$1" = "--vswap" ] ; then<BR>
                if [ $5 -gt $SwapLliureMinim ] ; then<BR>
                        echo "La memoria virtual (Swap) mante un bon nivell ($5 MB lliures)" >> /tmp/informarecursos.txt<BR>
                else<BR>
                        echo "ATENCIO: La memoria virtual (Swap) nomes te $5 MB lliures, doncs no supera el minim de $SwapLliureMinim." >> /tmp/informarecursos.txt<BR>
                        printf " Swap" >> /tmp/informarecursos.sot<BR>
                fi<BR>
        fi<BR>
else<BR>
        rm -f /tmp/informarecursos.txt<BR>
        rm -f /tmp/informarecursos.sot<BR>
        if [ "RAMLliureMinim" != "" ] ; then<BR>
                $0 --vram `free -m | grep Mem:`<BR>
        fi<BR>
        if [ "SwapLliureMinim" != "" ] ; then<BR>
                $0 --vswap `free -m | grep Swap:`<BR>
        fi<BR>
        if [ "$Disc1" != "" ] && [ "$BlocsLliuresMinim1" != "" ] ; then<BR>
                $0 --v1disc $Disc1 $BlocsLliuresMinim1 `df -B $MidaBlocMesura | grep $Disc1`<BR>
        fi<BR>
        if [ "$Disc2" != "" ] && [ "$BlocsLliuresMinim2" != "" ] ; then<BR>
                $0 --v1disc $Disc2 $BlocsLliuresMinim2 `df -B $MidaBlocMesura | grep $Disc2`<BR>
        fi<BR>
        if [ "$Disc3" != "" ] && [ "$BlocsLliuresMinim3" != "" ] ; then<BR>
                $0 --v1disc $Disc3 $BlocsLliuresMinim3 `df -B $MidaBlocMesura | grep $Disc3`<BR>
        fi<BR>
        if [ "$Disc4" != "" ] && [ "$BlocsLliuresMinim4" != "" ] ; then<BR>
                $0 --v1disc $Disc4 $BlocsLliuresMinim4 `df -B $MidaBlocMesura | grep $Disc4`<BR>
        fi<BR>
        if [ "$Disc5" != "" ] && [ "$BlocsLliuresMinim5" != "" ] ; then<BR>
                $0 --v1disc $Disc5 $BlocsLliuresMinim5 `df -B $MidaBlocMesura | grep $Disc5`<BR>
        fi<BR>
        if [ "$Disc6" != "" ] && [ "$BlocsLliuresMinim6" != "" ] ; then<BR>
                $0 --v1disc $Disc6 $BlocsLliuresMinim6 `df -B $MidaBlocMesura | grep $Disc6`<BR>
        fi<BR>
        if [ "$Disc7" != "" ] && [ "$BlocsLliuresMinim7" != "" ] ; then<BR>
                $0 --v1disc $Disc7 $BlocsLliuresMinim7 `df -B $MidaBlocMesura | grep $Disc7`<BR>
        fi<BR>
        if [ "$Disc8" != "" ] && [ "$BlocsLliuresMinim8" != "" ] ; then<BR>
                $0 --v1disc $Disc8 $BlocsLliuresMinim8 `df -B $MidaBlocMesura | grep $Disc8`<BR>
        fi<BR>
        if [ "$Disc9" != "" ] && [ "$BlocsLliuresMinim9" != "" ] ; then<BR>
                $0 --v1disc $Disc9 $BlocsLliuresMinim9 `df -B $MidaBlocMesura | grep $Disc9`<BR>
        fi<BR>
        if [ -f /tmp/informarecursos.sot ] ; then<BR>
                echo "[`uname -n`] `cat /tmp/informarecursos.sot` sota nivell"<BR>
        else<BR>
                echo "[`uname -n`] amb recursos a nivell"<BR>
        fi<BR>
        cat /tmp/informarecursos.txt<BR>
        echo "" >> /tmp/informarecursos.txt<BR>
        echo "INFORME ORIGINAL DE MEMORIA DE TREBALL (free -m)" >> /tmp/informarecursos.txt<BR>
        free -m >> /tmp/informarecursos.txt<BR>
        echo "" >> /tmp/informarecursos.txt<BR>
        echo "INFORME ORIGINAL D'US DE DISCS (df -hT)" >> /tmp/informarecursos.txt<BR>
        df -hT >> /tmp/informarecursos.txt<BR>
        if [ "$CorreuDestinacio" != "" ] ; then<BR>
                if [ -f /tmp/informarecursos.sot ] ; then<BR>
                        cat /tmp/informarecursos.txt | mail  -s "[`uname -n`] `cat /tmp/informarecursos.sot` sota nivell" $CorreuDestinacio<BR>
                        echo "S'ha enviat l'alerta completa a: $CorreuDestinacio"<BR>
                else<BR>
                        if [ "$EnviarSempre" = "1" ] ; then<BR>
                                cat /tmp/informarecursos.txt | mail  -s "[`uname -n`] amb recursos a nivell" $CorreuDestinacio<BR>
                                echo "S'ha enviat l'informe complet a: $CorreuDestinacio"<BR>
                        fi<BR>
                fi<BR>
        fi<BR>
fi<BR>
<BR>
</BODY>
</HTML>