Búsqueda de sitios web

Cómo realizar una copia de seguridad automática de archivos en un medio USB cuando está conectado


Una copia de seguridad es la última defensa contra la pérdida de datos y ofrece un medio para restaurar los datos originales. Puede utilizar un medio extraíble, como un disco duro externo, un disco flash USB o una carpeta de red compartida, o un host remoto para realizar una copia de seguridad de sus datos. Es muy fácil (e igualmente esencial) hacer una copia de seguridad automática de tus archivos importantes sin que tengas que acordarte de hacerlo.

Lea también: 24 excelentes herramientas de copia de seguridad para sistemas Linux en 2018

En este artículo, aprenderemos cómo realizar una copia de seguridad automática de los datos en un medio extraíble después de conectarlo a su máquina Linux. Probaremos con un disco externo. Esta es una guía básica para comenzar a utilizar udev para soluciones de la vida real.

Para los fines de este artículo, necesitamos un sistema Linux moderno con:

  1. systemd gerente de sistemas y servicios
  2. administrador de dispositivos udev
  3. herramienta de copia de seguridad rsync

Cómo configurar reglas de Udev para medios extraíbles

Udev es un administrador de dispositivos que le permite definir reglas que pueden, entre otras cosas, activar la ejecución de un programa o script cuando se agrega o elimina un dispositivo de un sistema en ejecución, como parte del manejo de eventos del dispositivo. . Podemos usar esta función para ejecutar un script de respaldo después de agregar un medio extraíble al sistema en ejecución.

Antes de configurar la regla real para el manejo de eventos del dispositivo, debemos proporcionar a udev algunos atributos de los medios extraíbles que se utilizarán para la copia de seguridad. Conecte el disco externo al sistema en ejecución y ejecute el siguiente comando lsusb para identificar su proveedor y su ID de producto.

Para fines de prueba, usaremos un disco duro externo de 1TB como se muestra.

lsusb

Según el resultado del comando anterior, el ID de proveedor de nuestro dispositivo es 125f, que especificaremos en las reglas de udev como se explica a continuación.

Primero, elimine los medios conectados del sistema y cree un nuevo archivo de reglas udev llamado 10.autobackup.rules en el directorio /etc/udev/rules.d/.

El 10 en el nombre del archivo especifica el orden de ejecución de las reglas. El orden en que se analizan las reglas es importante; siempre debe crear reglas personalizadas para analizarlas antes que las predeterminadas.

sudo vim /etc/udev/rules.d/10.autobackup.rules

Luego agregue la siguiente regla:

SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="125f" SYMLINK+="external%n", RUN+="/bin/autobackup.sh"

Expliquemos brevemente la regla anterior:

  • "==": es un operador para comparar la igualdad.
  • "+=": es un operador para agregar el valor a una clave que contiene una lista de entradas.
  • SUBSYSTEM: coincide con el subsistema del dispositivo del evento.
  • ACCIÓN: coincide con el nombre de la acción del evento.
  • ATTRS{idVendor}: coincide con los valores del atributo sysfs del dispositivo del evento, que es el ID del proveedor del dispositivo.
  • EJECUTAR: especifica un programa o script para ejecutar como parte del manejo de eventos.

Guarde el archivo y ciérrelo.

Crear un script de copia de seguridad automática

Ahora cree un script de copia de seguridad automática que realizará una copia de seguridad automática de los archivos en un USB extraíble cuando esté conectado al sistema.

sudo vim /bin/autobackup.sh 

Ahora copie y pegue el siguiente script, asegúrese de reemplazar los valores de BACKUP_SOURCE, BACKUP_DEVICE,y MOUNT_POINT en el script.

#!/usr/bin/bash
BACKUP_SOURCE="/home/admin/important"
BACKUP_DEVICE="/dev/external1"
MOUNT_POINT="/mnt/external"


#check if mount point directory exists, if not create it
if [ ! -d “MOUNT_POINT” ] ; then 
	/bin/mkdir  “$MOUNT_POINT”; 
fi

/bin/mount  -t  auto  “$BACKUP_DEVICE”  “$MOUNT_POINT”

#run a differential backup of files
/usr/bin/rsync -auz "$MOUNT_POINT" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE"
exit

Luego haga que el script sea ejecutable con el siguiente comando.

sudo chmod +x /bin/autobackup.sh

A continuación, vuelva a cargar las reglas udev usando el siguiente comando.

udevadm control --reload

La próxima vez que conecte su disco duro externo o cualquier dispositivo que haya configurado al sistema, se debe realizar una copia de seguridad automática de todos sus documentos desde la ubicación especificada.

Nota: La eficacia con la que esto funcione puede verse influenciada por el sistema de archivos de su medio extraíble y las reglas de udev que escriba, especialmente la captura de los atributos del dispositivo.

Para obtener más información, consulte las páginas de manual udev, mount y rsync.

man udev
man mount 
man rsync 

También te puede interesar leer los siguientes artículos relacionados con la copia de seguridad de Linux.

  1. rdiff-backup: una herramienta de copia de seguridad incremental remota para Linux
  2. Tomb: una herramienta de cifrado de archivos y copia de seguridad personal para Linux
  3. System Tar and Restore: un script de copia de seguridad versátil para Linux
  4. Cómo crear copias de seguridad eficientes en ancho de banda usando Duplicity en Linux
  5. Rsnapshot: una herramienta de copia de seguridad local/remota para Linux
  6. Cómo sincronizar dos servidores web/sitios web Apache usando Rsync

¡Eso es todo por ahora! En este artículo, explicamos cómo realizar una copia de seguridad automática de los datos en un medio extraíble después de conectarlo a su máquina Linux. Nos gustaría saber de usted a través del formulario de comentarios a continuación.