[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: