Come creare backup con tar

Il programma di archiviazione tar si basa su un vecchio metodo di backup dei dati che per la sua efficacia è ancora oggi molto popolare per l’archiviazione sui sistemi Unix. Il nome tar è un acronimo, che sta per Tape Archiver, ossia archiviazione per unità a nastro. Anche se oggi gli utenti privati difficilmente archivierebbero i propri dati su supporti di questo tipo, in ambito aziendale, l’uso dei nastri sono ancora usati in certi scenari. Un ritorno all’uso delle tecnologie di archiviazione su nastro è possibile grazie al fatto che forti investimenti in ricerca sono stati fatti (lo possiamo vedere nel video qui sotto) ed il costo tende ad essere molto basso.

Pronostico inoltre che l’archiviazione di dati strategici su supporti non connessi alla rete e fisicamente occultabili saranno fondamentali alla lotta ai cryptovirus. Le aziende potrebbero riscoprire che l’archiviazione su questi supporti possa essere una valida garanzia contro attacchi sempre più mirati all’estorsione.

Usando tar è possibile creare backup regolari e incrementali di un server e qui di seguito spiego come funziona tar e quali comandi vengono utilizzati per eseguire i backup.

Come installare tar

Su Ubuntu, solitamente tar lo si trova già preinstallato, ma nel caso dovesse mancare o si sta utilizzando un’altra distribuzione Linux o Unix, si può installare con:

				
					sudo apt-get install tar tar-doc
				
			

Il pacchetto tar-doc è facoltativo: contiene la documentazione del programma di archiviazione.

Come usare tar

La sintassi è molto semplice

				
					tar Option File
				
			

Vediamo quali sono i flag disponibili

Opzione Descrizione Caratteristica
–help Visualizza tutte le opzioni  
–version Mostra la versione di tar in uso  
-c Crea un nuovo archivio  
-d Confronta tra loro i file nell’archivio e nel file system  
-f Scrive un archivio nel file dato o legge i dati dal file dato  
-z Comprime o decomprime l’archivio direttamente con gzip  
-Z Comprime o decomprime l’archivio direttamente con compress  
-j Comprime o decomprime l’archivio direttamente con bzip2  
-J Comprime o decomprime l’archivio direttamente con xz  
-k Impedisce ai file di sovrascrivere file già esistenti durante l’estrazione dall’archivio  
-p Mantiene i privilegi di accesso durante l’estrazione  
-r Aggiunge un file a un archivio esistente  
-t Visualizza il contenuto di un archivio  
-u Allega solo file più recenti delle rispettive versioni nell’archivio  
-v Visualizza i passaggi coinvolti nell’archiviazione  
-vv Visualizza informazioni dettagliate sull’archiviazione  
-w Ogni azione deve essere confermata  
-x Estrae i file dall’archivio  
-A Allega i file di un archivio esistente a un altro  
-C Emette la posizione da cui devono essere estratti i file  
-M Crea, visualizza o estrae un archivio in più parti  
-L Cambia il supporto in una dimensione di file specifica  
-W Controlla l’archivio dopo che è stato scritto  
-P Archivia tutti i file dalla directory principale  
–exclude Esclude file o cartelle  
-X Legge un elenco con file esclusi  
-g Crea un registro di tutte le directory, inclusi i checksum  

Quando si creano archivi tar, si possono utilizzare anche l’asterisco come carattere jolly. Nella creazione di un nuovo archivio è buona prassi indicare sempre prima le opzioni, poi i nomi dei file dell’archivio che si vuole creare e infine i file e le cartelle che dovrebbe contenere. Nell’esempio seguente, creiamo un archivio (-c) composto da due file di testo, compresso con gzip (-z) e scritto nel file archive.tar.gz (-f):

				
					tar -czf archive.tar.gz file_1.txt file_2.txt
				
			

Se si vuole creare un archivio contenente tutti i file di testo contenuti in una directory, si può usare il carattere jolly corrispondente:

				
					tar -cf text_archive.tar *.txt
				
			

È anche possibile combinare directory complete e le loro sottodirectory in un archivio. Nell’esempio seguente, viene archiviato /directory1 incluse tutte le sue sottodirectory e i file contenuti, escludendo la sottodirectory /directory1/sottodirectory_x:

				
					tar -cf archive.tar --exclude=”/directory1/subdirectory_x” /directory_1
				
			

Nell’esempio seguente, estraiamo (-x) l’archivio compresso (-z) che abbiamo creato nel primo esempio in un’altra directory (-C):

				
					tar -xzf archive.tar.gz -C /home/directory1/archive_directory
				
			

Per aggiungere un altro file a un archivio (che deve essere decompresso), inserisci il seguente comando:

				
					tar -rf archive.tar new_file.txt
				
			

Backup automatici con tar

Ai webmaster piace usare tar per creare backup: con esso, la struttura delle directory viene mantenuta e la funzionalità del programma consente molte regolazioni fini, come è evidente dalle numerose opzioni. Nelle sezioni seguenti spiegheremo come generare un backup completo con tar, nonché come creare backup incrementali con il programma.

Creare un semplice backup con tar

Una buona strategia di sicurezza prevede che il backup avvenga di forma automatica evitando di dover eseguire l’archiviazione dei file a mano. Lo script seguente permette l’archiviazione della cartella definita nella variabile BACKUP_DIR e di salvare l’archivio nel percorso definito nella variabile SOURCE.
				
					#!/bin/bash
DATE=$(date +%Y-%m-%d-%H%M%S)
BACKUP_DIR="/targetdirectory/backup"
SOURCE="$HOME/sourcedirectory"
tar -cvzpf $BACKUP_DIR/backup-$DATE.tar.gz $SOURCE
				
			

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Most Recent

Come modificare l’autore di commit precedenti

Anzitutto apriamo questo articolo precisando che modificare i commit passati è un’operazione sulla commit history di un repository e tale operazione può essere rischiosa. Questa

Come eliminare un Git remote branch

Mentre in questo articolo abbiamo trattato come eliminare un Git local branch, qui di seguito trattiamo come eliminare un Git remote branch. Anche in questo caso,

Partners