Il comando Tar (Tape Archive) viene utilizzato per creare archivi di file. Esso viene spesso utilizzato con l’unione di programmi di compressione come ad esempio gzip e bzip2 per diminuire la dimensione degli archvi e occupare meno spazio. In questa guida vedremo le opzioni principali per poter utilizzare Tar e un piccolo tutorial sull’utilizzo per effettuare il backup di dati in formato tar.gz.
Vediamo come utilizzarlo…
Esempio 1
Per creare un archivio semplice senza comprimere, il comando da utilizzare è:
$ tar cvf nome_archivio.tar file1 fil2 file3 ...
Per estrarre l’archivio utilizzare il comando:
$ tar xvf nome_archivio.tar
Esempio 2
Creiamo ora un archivo contenente i file presenti all’interno della directory /home/pippo
$ tar cvf home_pippo.tar /home/pippo/*
In questo modo abbiamo creato l’archivio home_pippo.tar con tutti i file presenti nella home (/home/pippo/*)
E’ possibile escludere determinate directory, ad esempio la directory /home/pippo/download con il comando:
$ tar cvf home_pippo.tar /home/pippo/* --exclude "/home/pippo/download"
Esempio 3
Creiamo un archivio con tar comprimendolo successivamente con gzip. Questo è possibile attraverso 3 modi:
Utilizzando i due passaggi con due righe:
$ tar cvf archivio.tar file1
$ gzip archivio.tar
Creerà un file archivio.tar.gz
Utilizzando due passaggi con una riga sola:
$ tar cvf archivio.tar file1 && gzip archivio.tar
Creerà esattamente lo stesso file sopra citato.
Utilizzando un passaggio e una riga:
$ tar cvfz archivio.tar.gz file1
Per estrarre l’archivio .tar.gz è possibile utilizzare il comando:
$ tar xvfz archivio.tar.gz
oppure in due passaggi:
$ gunzip archivio.tar.gz
$ tar xvf archivio.tar
Due passaggi stessa riga:
$ gunzip -c archivio.tar.gz | tar -xf -
Esempio 4
Comprimere l’archivio utilizzando bzip2:
$ tar cjvf archivio.tar.bz2 file1 file2
Per estrarre l’archivio appena creato:
$ tar xjvf archivio.tar.bz2
Esempio 5
Per poter visualizzare i file contenuti in un archivio .tar il comando da utilizzare è:
$ tar tf archivio.tar
mentre per gli archivi .tar.gz il comando da utilizzare è:
$ tar tgf archivio.tar.gz
Backup dell’intero sistema
Come tutti sappiamo, avere un backup dell’intero sistema, dei dati sensibili e di alcuni file di configurazione può essere a volte davvero comodo. Vediamo come poterlo fare sfruttando tar e la compressione gzip.
Per effettuare il backup dell’intero sistema, escludendo le directory non necessarie (utilizzando l’opzione –exclude vista sopra), apriamo il terminale come utente “root” e lanciamo il comando:
$ tar cvfzp /home/$USER/root_backup.tar.gz /* --exclude "/dev" --exclude "/proc" --exclude "/sys" --exclude "/tmp" --exclude "/lost+found" --exclude "/home/$USET/root_backup.tar.gz"
In questo modo abbiamo creato l’archivio contenente tutti i file presenti nella “/” escludendo /dev, /proc, /sys, /tmp, /lost+found e lo stesso archivio che si andrà a creare.
Specifiche
Vediamo nel dettaglio le opzioni utilizzate in questa guida.
c = crea l’archivio
v = modalità verbose, mostra l’output completo
f = usa file archive
x = estrae l’archivio
z = comprime utilizzando gzip
j = comprime utilizzando bzip2
t = mostra il contenuto
-C directory = specifica la directory di destinazione
–exclude = esclude file o directory
Per maggiori opzioni e funzionalità visualizzare il man di tar reperibile con il comando:
$ man tar
Buona Archiviazione!