Re: Adjunto script de testeo de HD
On dom, 03 sep 2000, Manel Marin escribió:
> 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?
Compilate el kernel, con eso sobra. Un saludo.
>
> 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: manel3@apdo.com
> 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
--
___ __ __ __
| |/ / / /\/ / Rodolfo García Peñas
| / / / /\ / http://www.hispalinux.es/~kix
| \ \/ / / \ http://www.thekix.com
| |\ \/ / /\ \ kix@thekix.com kix@hispalinux.es
- - -
Register Linux User 62951. Debian 2.2 Kernel 2.4.0-test7
... Pensamos demasiado y sentimos muy poco ...
Charlie Chaplin, 1940
Reply to: