Ricerca nel sito web

Come eseguire il backup automatico dei file su un supporto USB quando connesso


Un backup è l'ultima difesa contro la perdita di dati, offrendo un mezzo per ripristinare i dati originali. È possibile utilizzare un supporto rimovibile come un disco rigido esterno o un disco flash USB o una cartella di rete condivisa oppure un host remoto per eseguire il backup dei dati. È molto semplice (e altrettanto essenziale) eseguire il backup automatico dei file importanti senza che tu debba ricordarti di farlo.

Leggi anche: 24 eccezionali strumenti di backup per sistemi Linux nel 2018

In questo articolo impareremo come eseguire il backup automatico dei dati su un supporto rimovibile dopo averlo collegato alla tua macchina Linux. Proveremo con un disco esterno. Questa è una guida di base per iniziare a utilizzare udev per soluzioni reali.

Ai fini di questo articolo, abbiamo bisogno di un moderno sistema Linux con:

  1. Responsabile sistemi e servizi systemd
  2. gestore dispositivi udev
  3. strumento di backup rsync

Come configurare le regole Udev per i supporti rimovibili

Udev è un gestore di dispositivi che consente di definire regole che possono, tra l'altro, attivare l'esecuzione di un programma o script quando un dispositivo viene aggiunto o rimosso da un sistema in esecuzione, come parte della gestione degli eventi del dispositivo . Possiamo utilizzare questa funzionalità per eseguire uno script di backup dopo aver aggiunto un supporto rimovibile al sistema in esecuzione.

Prima di configurare la regola effettiva per la gestione degli eventi del dispositivo, dobbiamo fornire a udev alcuni attributi del supporto rimovibile che verrà utilizzato per il backup. Connetti il disco esterno al sistema in esecuzione ed esegui il seguente comando lsusb per identificarne il fornitore e l'ID prodotto.

A scopo di test, utilizzeremo un disco rigido esterno da 1 TB come mostrato.

lsusb

Dall'output del comando precedente, l'ID del fornitore del nostro dispositivo è 125f, che specificheremo nelle regole udev come spiegato di seguito.

Innanzitutto, rimuovi il supporto connesso dal sistema e crea un nuovo file di regole udev chiamato 10.autobackup.rules nella directory /etc/udev/rules.d/.

Il 10 nel nome del file specifica l'ordine di esecuzione delle regole. L'ordine in cui le regole vengono analizzate è importante; dovresti sempre creare regole personalizzate da analizzare prima di quelle predefinite.

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

Quindi aggiungi la seguente regola:

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

Spieghiamo brevemente la regola di cui sopra:

  • "==": è un operatore da confrontare per l'uguaglianza.
  • "+=": è un operatore per aggiungere il valore a una chiave che contiene un elenco di voci.
  • SOTTOSISTEMA: corrisponde al sottosistema del dispositivo dell'evento.
  • AZIONE: corrisponde al nome dell'azione dell'evento.
  • ATTRS{idVendor}: corrisponde ai valori degli attributi sysfs del dispositivo dell'evento, che è l'ID del fornitore del dispositivo.
  • RUN: specifica un programma o uno script da eseguire come parte della gestione dell'evento.

Salva il file e chiudilo.

Crea uno script di backup automatico

Ora crea uno script di backup automatico che eseguirà il backup automatico dei file su USB rimovibile quando connesso al sistema.

sudo vim /bin/autobackup.sh 

Ora copia e incolla il seguente script, assicurati di sostituire i valori di BACKUP_SOURCE, BACKUP_DEVICE, e MOUNT_POINT nello 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

Quindi rendi eseguibile lo script con il seguente comando.

sudo chmod +x /bin/autobackup.sh

Successivamente, ricarica le regole udev utilizzando il seguente comando.

udevadm control --reload

La prossima volta che collegherai il tuo disco rigido esterno o qualsiasi dispositivo configurato al sistema, verrà eseguito automaticamente il backup di tutti i tuoi documenti dalla posizione specificata.

Nota: l'efficacia del funzionamento può essere influenzata dal filesystem sul supporto rimovibile e dalle regole udev che scrivi, in particolare dall'acquisizione degli attributi del dispositivo.

Per ulteriori informazioni, consultare le pagine man udev, mount e rsync.

man udev
man mount 
man rsync 

Potrebbe interessarti anche leggere i seguenti articoli relativi al backup di Linux.

  1. rdiff-backup: uno strumento di backup incrementale remoto per Linux
  2. Tomb: uno strumento di crittografia dei file e backup personale per Linux
  3. Tar e ripristino del sistema: uno script di backup versatile per Linux
  4. Come creare backup efficienti in termini di larghezza di banda utilizzando Duplicity in Linux
  5. Rsnapshot: uno strumento di backup locale/remoto per Linux
  6. Come sincronizzare due server Web/siti Web Apache utilizzando Rsync

È tutto per ora! In questo articolo, abbiamo spiegato come eseguire il backup automatico dei dati su un supporto rimovibile dopo averlo collegato alla tua macchina Linux. Ci piacerebbe sentire la tua opinione tramite il modulo di feedback riportato di seguito.