Rsync automáticamente al conectar en caliente una unidad sata (bahía no esata)

Rsync automáticamente al conectar en caliente una unidad sata (bahía no esata)

Para mantenerme al día con mis copias de seguridad, quiero ejecutar un comando rsync específico cuando inserto un disco duro sata específico en cualquiera o todas mis bahías hotswap. ¿Se haría esto usando uuids de alguna manera para realizar un seguimiento de las unidades? cada vez que busco encuentro udev para unidades USB, ¿puede esto funcionar aquí también?

Respuesta1

Utilizo una regla udev simple para esto. La unidad de respaldo está marcada con una etiqueta de volumen específica (use tune2fs para configurarla). La regla udev inicia un script:

$ cat /etc/udev/rules.d/90-backup.rules 
ACTION=="add", ENV{ID_FS_LABEL}=="backup", RUN+="/usr/local/bin/backup.sh"

(puede usar ENV{ID_FS_UUID}="some-uuid" si prefiere no usar etiquetas de volumen)

El script simplemente ejecuta rsync:

$ cat /usr/local/bin/backup.sh
#!/bin/bash

mnt=/media/backup

(
mount $mnt
rsync -avx --exclude lost+found /home/ $mnt/backup/
umount $mnt
) > /dev/null 2>&1 &

udev espera que el comando RUN="" sea de corta duración, por lo que el script ejecuta rsync en segundo plano.

Esto funcionará para cualquier tipo de unidad y/o interfaz, siempre y cuando udev reciba una notificación de que se ha agregado la unidad.

información relacionada