Effettuare un backup completo di un sistema Linux con tar

È sempre utile di tanto in tanto effettuare un backup completo del proprio sistema. Coloro che utilizzano Windows si saranno più volte trovati ad affrontare questo problema e avranno provato molti programmi: il problema principale risiede nel fatto che non tutti i file presenti su Windows possono essere copiati mentre il sistema è avviato.

Su Linux questo non succede e l’utente root ha il permesso di copiare ogni singolo file anche a sistema avviato, così che è possibile effettuare un backup completo del sistema utilizzando il programma che viene usualmente utilizzato per gestire i file compressi: tar.

Esatto! È sufficiente “zippare” l’intero contenuto del disco e, se mai dovesse accadere qualcosa, riestrarre tutto quanto.

Per fare ciò, spostiamoci su /:

cd /

Adesso diamo il seguente comando come utente root (o utilizzando sudo, dipende):

tar -cvpzf /backup.tgz --exclude=/proc/* --exclude=/sys/* --exclude=/lost+found/* --exclude=/mnt/* --exclude=/media/* --exclude=/backup.tgz /

Analizziamo il comando che abbiamo appena dato:

tar: è il programma utilizzato su linux per gestire i file compressi

-c: indica che noi dobbiamo creare un nuovo archivio

-v: esegue l’operazione in modalità verbose, ossia ci mostra nel terminale tutto quello che il computer sta facendo

-p: dice a tar di mantenere inalterati tutti i permessi dei file

-z: comprime il file con gzip (è possibile utilizzare altri formati di compressione, per istruzioni digitare nel terminale man –help)

-f /backup.tgz: f indica il nome del file compresso, in questo caso /backup.tgz, quindi verrà creato nella cartella /

–exclude=: non è necessario fare il backup dei contenuti delle cartelle /proc, /sys e /lost+found, sono stati eliminati anche /media e /mnt per evitare che venisse fatto un backup anche di eventuali partizioni o penne usb montate e infine è stato eliminato dal backup il file /backup.tgz, che dal momento in cui viene creato fa a tutti gli effetti parte del contenuto del disco e quindi è meglio eliminarlo dal backup se non si vogliono ottenere strani risultati

/: per ultimo bisogna indicare di quale cartella si vuole fare il backup, quindi in questo caso scriviamo / per fare un backup dell’intero disco

Sperando che non ce ne sia mai bisogno, per ripristinare il tutto è sufficiente scompattare l’archivio all’interno di una nuova installazione del sistema o, addirittura, su una partizione totalmente vuota. Quindi copiamo il file nella cartella radice della partizione e…

cd /
tar -xvpzf /backup.tgz -C /

In questo caso:

-x: indica che si vuole estrarre l’archivio

-C /: si sposta nella directory specificata, in questo caso /

Buon backup!