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 funziona tar

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 le opzioni

OpzioneDescrizioneCaratteristica
–helpVisualizza tutte le opzioni
–versionMostra la versione di tar in uso
-cCrea un nuovo archivio
-dConfronta tra loro i file nell’archivio e nel file system
-fScrive un archivio nel file dato o legge i dati dal file dato
-zComprime o decomprime l’archivio direttamente con gzip
-ZComprime o decomprime l’archivio direttamente con compress
-jComprime o decomprime l’archivio direttamente con bzip2
-JComprime o decomprime l’archivio direttamente con xz
-kImpedisce ai file di sovrascrivere file già esistenti durante l’estrazione dall’archivio
-pMantiene i privilegi di accesso durante l’estrazione
-rAggiunge un file a un archivio esistente
-tVisualizza il contenuto di un archivio
-uAllega solo file più recenti delle rispettive versioni nell’archivio
-vVisualizza i passaggi coinvolti nell’archiviazione
-vvVisualizza informazioni dettagliate sull’archiviazione
-wOgni azione deve essere confermata
-xEstrae i file dall’archivio
-AAllega i file di un archivio esistente a un altro
-CEmette la posizione da cui devono essere estratti i file
-MCrea, visualizza o estrae un archivio in più parti
-LCambia il supporto in una dimensione di file specifica
-WControlla l’archivio dopo che è stato scritto
-PArchivia tutti i file dalla directory principale
–excludeEsclude file o cartelle
-XLegge un elenco con file esclusi
-gCrea 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 example_extra.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.

Crea 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.

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

Most Recent

Come ridurre la dimensione di un boltdb

Questo post parte da questa risposta ad una domanda posta sul repository ufficiale di boltdb. Nella domanda si chiede come ridurre la dimensione di un database

Come installare uno script Go su Ubuntu

Go è un linguaggio di programmazione nato in Google dalle mani di Robert Griesemer, Rob Pike e Ken Thompson. Sintatticamente è molto simile al C

Come trasferire chiamate tra interni su FreePBX

Molti telefoni hardware hanno già incorporato un pulsante che può essere utilizzato per il trasferimento delle chiamate tra interni, altri invece ne sono sprovvisti. Cosa