Hola a todos,

Me acabo de cambiar el disco duro por uno de 20GB (je, je X-)

Y como lo queria comprobar a fondo cada dia (hasta que se acabe la garantia :-)
ya que ya me he pillado los dedos dos veces por no hacerlo, he mejorado un
script que hace tiempo que hice y me ha quedado "tan guai" que os lo envio
para que lo disfruteis (que de eso va el soft libre, �no?)

�alguien ha hecho algo parecido para testear la memoria? �Y la placa base?


Modo de uso (extraido del script):

# Uso:  testhd          # Testea todas las particiones de todos los discos
#       testhd /dev/hda /dev/hdb        # Testea los discos (todo seguido)
#       testhd /dev/hda1 /dev/hda2      # Testea las particiones
#
# Sugiero: Lanzar como root desde cron una vez a la semana, se nos enviar� un
#       mail con el resultado (Es una feature de cron ;-)
#       Tambi�n se puede usar por root desde un terminal mostrando progreso

�A questa guai?


Saludos,
-- 
-------------------------------------------------
Manel Marin   e-mail: [EMAIL PROTECTED]
Linux Powered (Debian 2.2 potato)  kernel 2.2.17

Mira mis chuletas de Linux en  http://perso.wanadoo.es/manel3
-------------------------------------------------
Mi petici�n de drivers para Linux es la n� 33126
 (Pasate por http://www.libranet.com/petition.html ;-)
#!/bin/sh
#       testhd (0.02)  Test de disco duro autom�tico (usuario/cron)
#
# Copyright Manel Marin @ 2000 Cubierto por la licencia GNU GPL disponible en
# http://www.gnu.org/copyleft/gpl.html  Se puede copiar, distribuir y modificar
# libremente bajo los t�rminos de la GPL e incluyendo siempre este p�rrafo
#
#
# Uso:  testhd          # Testea todas las particiones de todos los discos
#       testhd /dev/hda /dev/hdb        # Testea los discos (todo seguido)
#       testhd /dev/hda1 /dev/hda2      # Testea las particiones
#
# Sugiero: Lanzar como root desde cron una vez a la semana, se nos enviar� un
#       mail con el resultado (Es una feature de cron ;-)
#       Tambi�n se puede usar por root desde un terminal mostrando progreso
#
#6.11.99 (0.01)
#       Utiliza df para conocer particiones y su tama�o
#       y badblocks para testear las particiones montadas
#3.9.00 (0.02)
#       Emplear df para mostrar ocupaci�n
#       Utilizar fdisk -l para hacer lista de particiones de todos los discos
#       Utilizar fdisk -s para obtener los bloques de cada partici�n
#       Mostrar progreso si se lanza desde usuario (y *NO* desde cron)
#       Cronometrar el tiempo de test de cada partici�n y medir la carga del
#        sistema antes y despu�s
#


# SE ESPECIFICA PARTICION/ES A TESTEAR
if [ "$1" != "" ]
then
    echo "testhd: Testeando $*"
    echo
    TESTLIST="$*"
else
    # NO SE ESPECIFICA PARTICION A TESTEAR, TESTEAR TODAS LAS PARTICIONES

    echo "testhd: Testeando todas las particiones..."

    # HACER LISTA CON LAS PARTICIONES DE TODOS LOS DISCOS
    TESTLIST=`fdisk -l | awk '
    # Las particiones empiezan con "/dev" en la primera palabra, y no queremos
    # las extendidas, ya que son "contenedores" para otras particiones
        $1 ~ "^\/dev" && $0 !~ "Extend"  { LISTA = LISTA " "$1 }
        END { print LISTA }
    '`
    echo "$TESTLIST"
    echo
fi

# EN MODO CONSOLA MOSTRAR PROGRESO (Desde cron *NO*)
# TRUCO: $USER no est� definida en la ejecuci�n desde cron
if [ $USER ]
then 
    MODE="-s"           # Lanzado por usuario: Mostrar progreso
else
    MODE="-v"           # Lanzado por cron: NO mostrar progreso
fi

# MOSTRAR CARGA DEL SISTEMA
echo -n "CARGA:  "
cat /proc/loadavg

# MOSTRAR INFO DE OCUPACION
echo "DF:"
df
echo

# PROCESAR LA LISTA (TEST DE PARTICIONES UNA A UNA)
for TEST in $TESTLIST
do

    # CONSEGUIR EL TAMA�O EN BLOQUES
    HD_BLOCKS=`fdisk -s $TEST`

    # TESTEAR HD Y DAR MENSAJE DE RESULTADO Y TIEMPO EMPLEADO
    echo "* Testeando $TEST de $HD_BLOCKS bloques"
    time badblocks $MODE $TEST $HD_BLOCKS
    if [ $? == 0 ]
    then
        echo -n "CARGA:  "
        cat /proc/loadavg               # Mostrar carga del sistema
        echo
        echo "--- testhd: OK ---"
    else
        echo -n "CARGA:  "
        cat /proc/loadavg               # Mostrar carga del sistema
        echo
        echo "!!! testhd: *** ERROR ****************** !!!"
    fi
    echo

done

Responder a