Más allá de la Utilidad de Discos: comprueba discos duros mas deprisa

Terminal_Icon.pngComprobar la integridad de discos duros grandes con la Utilidad de Discos, especialmente aquellos que guardan una copia de Time Machine es un proceso lento y desesperante que puede llevar varias horas en terminar. Para acelerar el proceso, sin embargo, podemos confiar en el comando de terminal que se esconde tras la Utilidad de Discos y acelerar enormemente esta tarea.

El comando tras la Utilidad de Discos que comprueba el estado de los mismos es fsck_hfs que evidentemente puede ejecutarse desde el Terminal. La clave para acelerar el proceso de comprobación de disco es asignar una caché lo suficientemente grande para la estructura del disco en memoria, elemento que evidentemente la Utilidad de Discos no proporciona.

Este ejemplo asigna 2,2 GB de caché en la memoria RAM

sudo fsck_hfs -f -c 2200m /dev/disk2

Para una copia de seguridad de Time Machine en un disco de 1 TB con millones de archivos, el proceso puede terminar en unos 10 minutos (un salto considerable en cuanto a ahorro de tiempo frente a la Utilidad de Discos). Un efecto colateral es que además el disco duro no sufre tanto en la prueba, ya que la mayoría de las lecturas se hacen desde la caché en RAM.

Con este script el uso de este comando facilita la vida del usuario: solo tienes que guardarlo como un archivo de texto con la extensión .sh y hacerlo ejecutable desde la linea de comandos usando chmod 755 /ruta/al/archivo (puedes arrastrar el archivo a la ventana del Terminal para sacar la ruta completa).

#!/bin/bash

# Run a fast volume check on large Time Machine backup disks

export VOLUME=/Volumes/$1

echo “Determining disk device of $VOLUME”

export DISK=`diskutil info $VOLUME | sed -n ‘/ Device Node:/s/.* (/dev/disk.*).*/1/p’`

if [ “$DISK” = “” ]; then

echo “Unable to determine device name!”

exit 1

fi

echo “Performing filesystem check on $DISK”

diskutil unmountDisk $DISK

sudo fsck_hfs -f -c 2200m $DISK

diskutil mountDisk $DISK

El script desmonta durante el proceso de control y vuelve a montar el disco duro cuando ha terminado.

Fuente: Mac OS X Hints

0 0 votos
Article Rating
Subscribe
Notify of
8 Comments
Oldest
Newest Most Voted
Opiniones Inline
Ver todos los comentarios
Anónimo
Anónimo
12 years ago

GRA CIAS

Anónimo
Anónimo
12 years ago

Hola, buenos días, siento deciros que normalmente sigo vuestros articulos y se entienden bastante bien, pero con este no se que pasa que me lio, no entiendo bien el proceso, que hay que guardar, si hay que sustituir algún nombre por el de mi disco duro, no se, creo que os habeis salado algo en el proceso, aun así, como siempre, os salís, muy útil cuando logre hacerlo, como casi toda la info que poneis en aquí.
Un saludo.

Por cierto y saliendome totalmente del tema: llevo 4 meses esperando para comprar un MacPro y nunca veo el momento, nadie ha vuelto a hablar sobre el tema, ¿qué opinais? ¿saldrán en una fecha temprana? si no tal vez opte por el iMac con SSD, ¿os parece acertado comprar ahora o esperar?

Administrador
12 years ago

Luego trataremos de hacer un poco mas accesible el artículo. O lo convertiremos en Applescript, de paso. 😉

Mac Pro en noviembre. Es su fecha.

—————
http://www.faq-mac.com

Anónimo
Anónimo
12 years ago

Esperando el AppleScript estoy… 😉

Muchas gracias!

Anónimo
Anónimo
12 years ago

Suscribo lo de arriba tengo el script creado , pongo en el terminal :
sh ./chkds.sh Macintosh Hd
y no me funciona me dice que no puede determinar el disco .
Una aclaración del post vendría bien .
Como siempre muy bueno ( cuando me funcione 🙂 )

Anónimo
Anónimo
12 years ago

Que vergüenza, de verdad, nos prometéis un script y no hacéis nada, sois una basura de web … XDDDD

¿No, en serio, cuando estará disponible?

Un saludo

Administrador
12 years ago

Estamos trabajando en ello, de verdad. tened en cuenta que para publicar un artículo de soporte en estos términos, debemos contemplar toda la casuística posible y probarlo al menos en 3 máquinas y un par de versiones de sistemas operativos especialmente cuando es “producción propia”.

Tened un poco de paciencia, de verdad. Estará disponible, pero un buen trabajo requiere un cierto tiempo.

Un saludo y gracias a todos.

—————
http://www.faq-mac.com

Administrador
12 years ago

Bueno, hay varios problemas con el Script de Mac OS X Hints, específicamente, que no reconoce los espacios en blanco de los nombres de los discos duros, y es un problema complejillo de arreglar.

Para automatizar esta tarea os proponemos la siguiente opción:

  • Obtener el nombre de los discos sobre los que queremos ejecutar usando en el Terminal df -h (sera el dev/nombrede disco en cuestión)
  • Obtenemos la Ruta “dev” al disco. Tened en cuenta que este script no se puede ejecutar contra el disco de arranque si incluimos órdenes de desmontado de la unidad
  • Una vez identificado el disco, usaremos el siguiente Applescript
  • do shell script “diskutil unmountDisk /dev/(el identificador de tu disco en cuestión, por ejemplo disk1s1)”
    do shell script “fsck_hfs -f -c 2200m /dev/(el identificador de tu disco en cuestión, por ejemplo disk1s1)” with administrator privileges
    do shell script “diskutil mount /dev/(el identificador de tu disco en cuestión, por ejemplo disk1s1)”
    display dialog “Proceso Terminado” buttons {“Ok”} default button 1

    —————
    http://www.faq-mac.com

    8
    0
    Me encantaría saber tu opinión, por favor, deja un comentariox
    ()
    x