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