Backup sistema Linux con rsync

Per fare un backup completo dell’intero sistema Linux tramite l’utility rsync eseguire da terminale il comando:

$ sudo rsync -aAXv  --delete --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/<backup_disk_mount_point>

Il comando esegue una copia completa della radice /, escludendo le directory /dev, /proc, /sys, /tmp, /run, /mnt, /media, /lost+found, sulla directory /mnt/<backup_disk_mount_point>.

Sostituire backup_disk_mount_point con il nome della directory dove è stato montato il disco esterno come destinazione del backup.

Nel dettaglio:

  • rsync – un’utility per la copia dei file sia in locale che in rete, standard sulla maggior parte delle distribuzioni Linux.
  • -aAXv – i files vengono trasferiti in modalità “archivio” mantenendo permessi, attributi, proprietà e link simbolici.
  • –delete – elimina  nelle destinazione i file non presenti nella sorgente.
  • –exclude – elenco delle directory da escludere dal processo di copia.
  • / – directory sorgente.
  • /mnt/<backup_disk_mount_point> – directory di destinazione.

La cosa più importante da tenere presente è quella di escludere la path della destinazione, altrimenti rsync entrerà in una sorta di loop infinito.

Ripristino

Per effettuare il ripristino è sufficiente rilanciare il comando invertendo sorgente e destinazione.