Montar un disco por ID-UUID

Otra entrada a la que me apunto siglos más tarde de lo que debería, pero la necesidad hace a la vieja trotar. Hablamos, como no, del talón de aquiles de cualquiera de nosotros: las copias de seguridad.

En Linux, alguna que otra vez me ha tocado hacer copias de seguridad en discos duros externos conectados por USB, pero o bien eran para algo puntual del rollo "montar, backup, desmontar y listo" o el otro escenario típico es el del servidor que nunca se apaga, así que me enfrento a la novedad de esas máquinas que se tienen que apagar todos los días.

No, nunca he tenido esa necesidad de que el sistema detecte el disco USB, lo monte automáticamente, haga backup y luego lo desmonte (o lo que sea) hasta el siguiente ciclo. Sin embargo, como a todo cerdo le llega su San Martín, me ha tocado y me acabo de enterar oficialmente - learn by doing, leer es de maricas - de varias cosas de las que ya sospechaba:

  • Los discos duros USB no tienen un punto de montaje fijo.
  • Cada vez que arrancas la máquina el punto de montaje varía.
  • No sirve de nada tener un fstab que haga referencia al proc.
  • Se pueden montar por ID de disco.
  • Se pueden montar por UUID de disco.

Y estos dos últimos puntos son claves para la solución que voy a proponer, así que empezamos por intentar averiguar el ID/UUID del disco duro:

# blkid
/dev/sda1: UUID="b6d7813f-3385-47f4-a207-e8bb2c296c43" TYPE="ext3"
/dev/sda5: TYPE="swap"
/dev/sda6: UUID="cb8a9460-f3e7-42d5-9c5e-2dd1888c1161" TYPE="ext3"
/dev/sdb1: UUID="6eada2b0-3fab-4470-a49b-d242960bffd1" TYPE="ext3"
/dev/sdc: UUID="4140a668-fda0-467a-9922-14f1e8d53657" TYPE="ext3"

Cogemos el UUID correspondiente a nuestro amigo, comprobamos que realmente existe y por supuesto, probamos  a montarlo:

# ls /dev/disk/by-uuid/6eada2b0-3fab-4470-a49b-d242960bffd1
/dev/disk/by-uuid/6eada2b0-3fab-4470-a49b-d242960bffd1
# mount /dev/disk/by-uuid/6eada2b0-3fab-4470-a49b-d242960bffd1 /backup

Si todo está funcionando de forma adecuada, toca actualizar el fstab para ver si soporta esta "novedad" y olvidarnos de una vez por todas de este pequeño y molesto problema:

# cat /etc/fstab
...
UUID=6eada2b0-3fab-4470-a49b-d242960bffd1  /backup         ext3    defaults        0       0
# mount /backup

Y poco más, este pequeño saltamontes ya sabe, a costa del grandioso método de prueba-error, cómo hacer que las copias de seguridad funcionen adecuadamente con ese gran invento que son los discos usb.

Actualización: Nos comenta @skarcha que la sintaxis correcta para el /etc/fstab es la siguiente: UUID=6eada2b0-3fab-4470-a49b-d242960bffd1, así que he actualizado el post. ¡Muchas gracias por el comentario!.

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.