Com fer una còpia de seguretat automàtica dels fitxers al suport USB quan està connectat


Una còpia de seguretat és l'última defensa contra la pèrdua de dades, oferint un mitjà per restaurar les dades originals. Podeu utilitzar un suport extraïble, com ara un disc dur extern o un disc flash USB o una carpeta de xarxa compartida, o un host remot per fer una còpia de seguretat de les vostres dades. És molt fàcil (i igualment essencial) fer una còpia de seguretat automàtica dels fitxers importants sense haver de recordar-ho.

En aquest article, aprendrem a fer una còpia de seguretat automàtica de les dades en un suport extraïble després de connectar-lo a la vostra màquina Linux. Ho provarem amb un disc extern. Aquesta és una guia bàsica per començar a utilitzar udev per a solucions de la vida real.

Per als propòsits d'aquest article, necessitem un sistema Linux modern amb:

  1. Gestor de serveis i sistemes de sistema
  2. gestor de dispositius udev
  3. Eina de còpia de seguretat de rsync

Com configurar les regles Udev per a suports extraïbles

Udev és un gestor de dispositius que us permet definir regles que poden, entre d'altres, desencadenar l'execució d'un programa o script quan un dispositiu s'afegeix o s'elimina d'un sistema en execució, com a part de la gestió d'esdeveniments del dispositiu. Podem utilitzar aquesta funció per executar un script de còpia de seguretat després d'afegir un suport extraïble al sistema en execució.

Abans de configurar la regla real per al maneig d'esdeveniments del dispositiu, hem de proporcionar a udev alguns atributs dels mitjans extraïbles que s'utilitzaran per a la còpia de seguretat. Connecteu el disc extern al sistema en execució i executeu l'ordre lsusb següent per identificar el seu proveïdor i l'identificador del producte.

Per a les proves, utilitzarem un disc dur extern d'1 TB tal com es mostra.

$ lsusb

A partir de la sortida de l'ordre anterior, el nostre ID de proveïdor del dispositiu és 125f, que especificarem a les regles udev tal com s'explica a continuació.

Primer, traieu els mitjans connectats del sistema i creeu un nou fitxer de regles udev anomenat 10.autobackup.rules al directori /etc/udev/rules.d/.

El 10 al nom del fitxer especifica l'ordre d'execució de les regles. L'ordre en què s'analitzen les regles és important; sempre hauríeu de crear regles personalitzades per analitzar-les abans que les predeterminades.

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

A continuació, afegiu-hi la regla següent:

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

Expliquem breument la regla anterior:

  • ==\: és un operador per comparar per igualtat.
  • \+=\: és un operador per afegir el valor a una clau que conté una llista d'entrades.
  • SUBSYSTEM: coincideix amb el subsistema del dispositiu d'esdeveniment.
  • ACCIÓ: coincideix amb el nom de l'acció de l'esdeveniment.
  • ATTRS{idVendor}: coincideix amb els valors d'atribut sysfs del dispositiu d'esdeveniment, que és l'ID del proveïdor del dispositiu.
  • RUN: especifica un programa o script per executar com a part de la gestió d'esdeveniments.

Deseu el fitxer i tanqueu-lo.

Creeu un script de còpia de seguretat automàtica

Ara creeu un script de còpia de seguretat automàtica que farà una còpia de seguretat automàtica dels fitxers a un USB extraïble quan estigui connectat al sistema.

$ sudo vim /bin/autobackup.sh 

Ara copieu i enganxeu l'script següent, assegureu-vos de substituir els valors de BACKUP_SOURCE, BACKUP_DEVICE i MOUNT_POINT a l'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

A continuació, feu que l'script sigui executable amb l'ordre següent.

$ sudo chmod +x /bin/autobackup.sh

A continuació, torneu a carregar les regles udev amb l'ordre següent.

$ udevadm control --reload

La propera vegada que connecteu el vostre disc dur extern o qualsevol dispositiu que hàgiu configurat al sistema, s'hauria de fer una còpia de seguretat automàtica de tots els vostres documents de la ubicació especificada.

Nota: el sistema de fitxers del vostre suport extraïble i les regles udev que escriviu poden influir amb quina eficàcia funciona, especialment per capturar els atributs del dispositiu.

Per obtenir més informació, consulteu les pàgines de manual udev, mount i rsync.

$ man udev
$ man mount 
$ man rsync 

També us agradaria llegir aquests articles relacionats amb les còpies de seguretat de Linux següents.

  1. rdiff-backup: una eina de còpia de seguretat incremental remota per a Linux
  2. Tomb: una eina de xifratge de fitxers i còpia de seguretat personal per a Linux
  3. System Tar and Restore: un script de còpia de seguretat versàtil per a Linux
  4. Com crear còpies de seguretat eficients amb ample de banda utilitzant Duplicity a Linux
  5. Rsnapshot: una eina de còpia de seguretat local/remota per a Linux
  6. Com sincronitzar dos servidors web/llocs web Apache mitjançant Rsync

Això és tot per ara! En aquest article, hem explicat com fer una còpia de seguretat automàtica de les dades en un suport extraïble després de connectar-lo a la vostra màquina Linux. Ens agradaria rebre notícies vostres mitjançant el formulari de comentaris que trobareu a continuació.