Cómo realizar copias de seguridad automáticas de archivos a medios USB cuando están conectados


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

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 conectarlos a su máquina Linux. Lo probaremos con un disco externo. Esta es una guía básica para comenzar a usar udev para soluciones de la vida real.

A los efectos de este artículo, necesitamos un sistema Linux moderno con:

  1. systemd systems and services manager
  2. udev device manager
  3. rsync backup tool

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, desencadenar 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 . Podemos usar esta función para ejecutar un script de respaldo luego 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 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 la ID del producto.

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

$ lsusb

Desde la salida del comando anterior, nuestro ID de proveedor del 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 bajo el directorio /etc/udev/rules.d/ .

El 10 en el nombre de 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 de los valores predeterminados.

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

A continuación, agregue la siguiente regla en él:

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

Vamos a explicar brevemente la regla anterior:

  • "==": is an operator to compare for equality.
  • "+=": is an operator to add the value to a key that holds a list of entries.
  • SUBSYSTEM: matches the subsystem of the event device.
  • ACTION: matches the name of the event action.
  • ATTRS{idVendor}: matches sysfs attribute values of the event device, which is the device vendor ID.
  • RUN: specifies a program or script to execute as part of the event handling.

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á copias de seguridad automáticas 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_LOC" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE"
exit

Luego haga el script ejecutable con el siguiente comando.

$ sudo chmod +x /bin/autobackup.sh

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

$ udevadm control --reload

La próxima vez que conecte su disco duro externo o cualquier dispositivo que haya configurado en el sistema, todos los documentos de la ubicación especificada se copiarán automáticamente en él.

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

$ man udev
$ man mount 
$ man rsync 

Es posible que también desee leer estos siguientes artículos relacionados con la copia de seguridad de Linux.

  1. rdiff-backup – A Remote Incremental Backup Tool for Linux
  2. Tomb – A File Encryption and Personal Backup Tool for Linux
  3. System Tar and Restore – A Versatile Backup Script for Linux
  4. How to Create Bandwidth-efficient Backups Using Duplicity in Linux
  5. Rsnapshot – A Local/Remote Backup Tool for Linux
  6. How to Sync Two Apache Web Servers/Websites Using Rsync

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