Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/BackupDelSistema/Dar"
Differenze tra le versioni 17 e 45 (in 28 versioni)
Versione 17 del 04/10/2007 14.03.15
Dimensione: 12789
Commento:
Versione 45 del 18/11/2025 22.49.52
Dimensione: 14725
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from AmministrazioneSistema/BackupDelSistema/BackupConDar
Linea 3: Linea 4:
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents(1)]]||
<<BR>>
<<Indice>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=646306"; rilasci="24.04 22.04 20.04 18.04")>>
Linea 8: Linea 10:
'''dar''', acronimo di '''''D'''isk '''AR'''chive'', è un programma utile per la creazione ed il ripristino di backup del proprio sistema. '''DAR''', acronimo di '''D'''isk '''AR'''chive, è un programma utile per la creazione e il ripristino di backup del sistema.
Linea 12: Linea 14:
Il programma è disponibile nel [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository] ufficiali. Una volta abilitato tale componente è sufficiente [:InstallareProgrammi:installare] il pacchetto ''dar''. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://dar | dar]].

{{{#!wiki tip
È possibile utilizzare il software tramite un'interfaccia grafica, denominata '''dargui''', disponibile al [[http://dargui.sourceforge.net/|seguente indirizzo]].
}}}
Linea 16: Linea 22:
Per creare una copia di sicurezza dei propri dati personali presenti in `~/dati_del_backup` è possibile utilizzare il comando '''dar''' con una sintassi simile alla seguente: {{{
dar -c backup -R ~/dati_del_backup
}}}

Quella che segue è una breve spiegazione delle opzioni utilizzate:
 * '''-c''': crea il backup e gli assegna il nome «backup». Al termine dell'operazione, all'interno del percorso corrente verrà creato un file con nome `backup.1.dar`;
 * '''-R''': specifica la cartella della quale creare la copia.

||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''Assicurarsi che il percorso corrente sia diverso da quello della cartella che si desidera copiare.''' ||

Il risultato del precedente comando sarà simile al seguente: {{{
Per creare una [[AmministrazioneSistema/ComandiBase#cp|copia]] di sicurezza dei dati personali presenti in `~/dati_del_backup`, è possibile utilizzare il comando '''dar''' con una sintassi simile alla seguente:{{{
dar -c <nomefile> -R ~/dati_del_backup
}}}

Di seguito una breve spiegazione delle opzioni utilizzate:

<<Anchor(sintassi)>>

||<tablestyle="width:50%;" -2:>'''Sintassi opzioni'''||
||<:30%> '''Opzione''' || Risultato ||
||<:>'''-c <nomefile>''' || Crea il backup e assegna il nome specificato. Al termine dell'operazione, all'interno del percorso corrente verrà creato un file con nome `backup.1.dar`. ||
||<:>'''-R''' || Specifica la cartella da copiare. ||
||<:>'''-s''' || Specifica la dimensione di ogni porzione di backup. ||
||<:>'''-Z''' || Specifica i file da non comprimere. ||
||<:>'''-P''' || Percorso relativo da escludere dal backup. ||
||<:>'''-D''' || Ripristina un backup includendo le cartelle vuote. ||
||<:>'''-p''' || Inserisce una pausa tra la creazione di una porzione e l'altra. ||
||<:>'''-E''' ''cmd'' || Esegue il comando specificato in ''cmd'' tra la creazione di una porzione e l'altra. ||
||<:>'''-y''' || Attiva la compressione [[AmministrazioneSistema/FormatiDiCompressione#bzip2|bzip2]], che è più efficiente di [[AmministrazioneSistema/FormatiDiCompressione#gzip|gzip]]. ||
||<:>'''-z''' || Attiva la compressione [[AmministrazioneSistema/FormatiDiCompressione#gzip|gzip]]. ||

{{{#!wiki important
Assicurarsi che il percorso corrente sia diverso da quello della cartella da copiare e che non contenga la directory di destinazione stessa. In tal caso, escludere la directory di destinazione tramite l'opzione dedicata, discussa più avanti.}}}

Il risultato del comando precedente sarà simile al seguente: {{{
Linea 42: Linea 62:
Quelle che seguono sono alcune fra le opzioni più comuni:

||<tablestyle="width:50%" style="background-color:#FB8B00;" : 10%>'''Opzione''' ||<style="background-color:#FB8B00;":40%>'''Risultato''' ||
||<:>'''-s''' || specifica la dimensione di ogni porzione di backup ||
||<:>'''-Z''' || specifica i file che non si desidera comprimere ||
||<:>'''-P''' || percorso relativo da escludere dal backup ||
||<:>'''-D''' || ripristina un backup incluse le cartelle vuote ||
||<:>'''-p''' || inserisce una pausa fra la creazione di una porzione e l'altra ||
||<:>'''-E''' ''cmd'' || esegue il comando specficato in ''cmd'' fra la creazione di una porzione e l'altra ||
||<:>'''-y''' || attiva la compressione [:FormatiDiCompressione#bzip2:bzip2], che è più efficiente di [:FormatiDiCompressione#gzip:gzip] ||
||<:>'''-z''' || attiva la compressione [:FormatiDiCompressione#gzip:gzip] ||

= Operazioni di ripristino =

Per ripristinare il backup dell'esempio sopra citato, è sufficiente digitare un comando simile al seguente: {{{
== Backup parziale ==

Per eseguire un backup contenente solo specifiche directory o file, '''Dar''' utilizza le opzioni `-I` (per includere file) e `-g` (per includere directory) in fase di creazione del backup.

=== Backup di un singolo file ===

Per creare un backup contenente solo un file specifico, ad esempio `documenti/relazione.odt`, si può usare il seguente comando:{{{
dar -c backup_parziale_file -R ~/mie_risorse -I "documenti/relazione.odt"
}}}
L'opzione '''-I''' specifica il percorso esatto del file da includere nel backup. È importante notare che il percorso specificato con `-I` è relativo alla directory indicata da `-R`.
È possibile usare anche caratteri jolly (wildcard) o espressioni regolari con `-I`. Ad esempio, per includere tutti i file `.jpg` dalla directory `foto`:{{{
dar -c backup_foto_jpg -R ~/mie_risorse -I "foto/*.jpg"
}}}

=== Backup di una singola directory ===

Per creare un backup che includa solo una o più directory specifiche, si usa l'opzione `-g`. Ad esempio, per fare il backup della sola directory `documenti` (e tutto il suo contenuto):{{{
dar -c backup_documenti -R ~/mie_risorse -g "documenti"
}}}L'opzione '''-g''' specifica la directory da includere. Il percorso è relativo alla directory specificata con `-R`.<<BR>>È possibile utilizzare più istanze di `-g` nello stesso comando per includere più directory:{{{
dar -c backup_doc_foto -R ~/mie_risorse -g "documenti" -g "foto"
}}}

=== Combinazione di inclusione ed esclusione ===

È possibile combinare le opzioni `-I` e `-g` con le opzioni di esclusione (come `-X` o `-P`) per un controllo granulare. Ad esempio, per includere una directory ma escludere un certo tipo di file al suo interno:{{{
dar -c backup_documenti_no_pdf -R ~/mie_risorse -g "documenti" -X "*.pdf"
}}}In questo caso, `-g "documenti"` include l'intera directory `documenti`, mentre `-X "*.pdf"` esclude tutti i file con estensione `.pdf` all'interno delle directory incluse.

Dar offre molta flessibilità per personalizzare i backup, permettendo di includere o escludere file e directory in base a precise esigenze.

== Backup differenziale ==

La creazione dei backup differenziali è una delle operazioni fondamentali in una strategia di backup.

Questi backup sono importanti perché permettono di risparmiare moltissimo spazio, memorizzando solamente le differenze tra un backup precedente e quello attuale. Se, per esempio, sono presenti grosse porzioni della directory che restano invariate (es. collezione MP3 e foto), queste non verranno memorizzate nuovamente nel backup successivo.

Lo svantaggio consiste nel fatto che, per il ripristino completo, oltre al backup differenziale, sarà necessario anche il backup precedente e così via, fino all'ultimo backup completo.

Dal punto di vista del backup, un backup differenziale ha una sintassi praticamente uguale a quella del backup completo analizzato finora.

L'unica differenza è l'aggiunta di un'opzione:{{{
dar -c /media/disco_temporaneo/home_backup_2 -R /home/daniele -s 4G -Z "*.jpg" -Z "*.mp3" -P .Trash -P Download -D -y -A /media/disco_backup/home_backup
}}}

||<tablestyle="width:50%;" -2:>'''Sintassi opzioni'''||
||<:30%> '''Opzione''' || Risultato ||
||<:>'''-A''' || Con questa opzione si specifica la posizione dell'ultimo backup eseguito (completo o differenziale). Il programma analizzerà il backup e considererà esclusivamente le modifiche. ||

Se il backup precedente è diviso in più slices, è necessario indicare il percorso della prima o dell'ultima slice (sempre senza specificare `.numero.dar` alla fine del file). Questo perché queste due slices contengono un riassunto dell'intero backup, chiamato '''catalogo'''.

È consigliabile adottare una metodologia per rinominare i backup in modo sensato, per comprenderne la sequenza; solitamente, includere la data nel nome del backup è un metodo efficace per mantenere l'ordine. Una nomenclatura regolare permette anche di agevolare un eventuale script di ripristino, poiché facilita la creazione di script di ripristino automatizzati, permettendo al sistema di gestire il processo in modo ordinato.

= Opzioni ausiliarie =

Sono disponibili alcune opzioni utili da eseguire su un backup.

 * Una prima operazione importante, dopo aver creato un backup e salvato in una posizione appropriata, consiste nel verificarne l'integrità. A tale scopo, con Dar si utilizza l'opzione '''-t''':{{{
dar -t /media/disco/backup_dar
}}}In questo caso, è necessario specificare il percorso del backup, incluso il nome base, che non deve includere il numero di slice né l'estensione. Questo comando verifica l'integrità del backup e segnala eventuali problemi e i file interessati.
 * Un'altra opzione consente di mostrare il contenuto di un backup, e ciò si ottiene utilizzando l'opzione '''-l''':{{{
dar -l /media/disco/backup_dar
}}}Si ottiene un elenco dei file presenti nel backup. È spesso utile indirizzare l'output tramite una 'pipe' a '''grep''' per filtrare l'elenco dei file, oppure reindirizzare l'output in un file per un'analisi successiva e più approfondita, poiché, a seconda della dimensione del backup, il numero di file elencati può essere molto elevato.

== Script ==

Un vantaggio notevole di '''Dar''' (come molti altri programmi che operano da [[AmministrazioneSistema/Terminale|terminale]]) risiede nella possibilità di automatizzare il lavoro tramite script.

[[http://wiki.ubuntu-it.org/AmministrazioneSistema/BackupDelSistema/Dar?action=AttachFile&do=get&target=script-backup-dar2.txt|Scaricare]] lo script proposto, che permette di automatizzare il processo di backup, creando un backup completo e successivamente vari backup differenziali. Dopo un determinato numero di giorni, si procede alla creazione di un nuovo backup completo, per evitare un numero eccessivo di backup differenziali sul disco.

Lo script presentato ha alcune limitazioni:

 * non cancella il precedente backup quando il successivo completo viene eseguito (ovviamente dopo la verifica); è quindi necessario cancellare manualmente i backup precedenti (o modificare lo script secondo le proprie esigenze).
 * un messaggio di avvertimento nel caso in cui due backup completi successivi vengano eseguiti nello stesso giorno. In questo caso, infatti, la cartella avrà il medesimo nome e si verificherà un avvertimento per quanto riguarda la sovrascrittura.

Per il recupero dei dati, invece, non viene fornito uno script, perché l'estrazione, usando le opzioni '''-I''' e '''-g''', come illustrato in precedenza, è relativamente semplice. È possibile creare uno script per evitare l'introduzione manuale dei percorsi di backup; tuttavia, spesso risulta meno oneroso scrivere il comando direttamente anziché creare uno script con un numero variabile di argomenti. Inoltre, il ripristino non necessita di essere automatizzato, poiché deve essere eseguito solo quando effettivamente richiesto.

= Ripristino =

{{{#!wiki important
È importante ricordare che, per un ripristino differenziale, è necessario ripristinare i file prima dal backup completo e successivamente da quello differenziale.
}}}

Per ripristinare il backup creato nell'esempio precedente, è sufficiente utilizzare un comando simile al seguente:{{{
Linea 60: Linea 148:
L'opzione '''-x''' specifica il percorso del file contenente le informazioni da estrarre. Il backup verrà ripristinato all'interno del percorso corrente. In alternativa è possibile specificare un percorso alternativo utilizzando l'opzione '''-R''', come nell'esempio seguente: {{{ L'opzione '''-x''' specifica il percorso del file di backup da estrarre. Il backup viene ripristinato nella directory corrente. In alternativa, è possibile specificare un percorso alternativo utilizzando l'opzione '''-R''', come nell'esempio seguente:{{{
Linea 64: Linea 152:
Il backup precedentemente creato verrà ripristinato in `~/prova`. Il risultato del precedente comando sarà simile al seguente: {{{ Il backup creato precedentemente viene ripristinato in `~/prova`. Il risultato del comando precedente sarà simile al seguente:{{{
Linea 79: Linea 167:
= Backup differenziale =

Ora, una delle operazioni fondamentali in una politica di backup: la creazione dei backup differenziali.

Questi sono importanti, perchè permettono di risparmiare moltissimo spazio per i backup, andando a memorizzare solamente le differenze fra un backup precedente e quello attuale. Se, per esempio, sono presenti grosse porzioni della directory che restano invariate (es. collezione mp3 e foto), queste non verranno memorizzate di nuovo nel backup successivo.

Lo svantaggio consiste nel fatto che, se bisogna ripristinare il tutto, oltre al backup differenziale, ci sarà bisogno anche del backup precedente, e così via fino a quando non si arriva all'ultimo backup completo.

Dal punto di vista del backup, un backup differenziale ha una sintassi praticamente uguale a quella del backup completo analizzato finora. L'unica differenza è l'aggiunta di un'opzione: {{{
dar -c /media/disco_temporaneo/home_backup_2 -R /home/daniele -s 4G -Z "*.jpg" -Z "*.mp3" -P .Trash -P Download -D -y -A /media/disco_backup/home_backup
}}}

 * '''-A''' Con questa opzione si specifica la posizione dell'ultimo backup eseguito (completo o differenziale a sua volta). Il programma analizzerà il backup e terrà conto esclusivamente delle modifiche.

Se il backup precedente è diviso in più slices, bisogna indicare il percorso o della prima slice, o dell'ultima (sempre senza specificare .numero.dar alla fine del file). Questo perchè queste due slices particolari contengono un riassunto di tutto il backup, chiamato ''catalogo''.

È buona regola trovare un modo per rinominare i vari backup in maniera sensata, in maniera tale da capire dal nome quale backup segue l'altro; di solito mettere la data nel nome del backup è un buon modo per tenere ordine da questo punto di vista. Una nomenclatura regolare permette anche di agevolare un eventuale script di ripristino, dato che viene più semplice lasciare che il computer si occupi di trovare e ripristinare tutti i files in maniera ordinata, piuttosto che farlo da soli.

= Ripristino differenziale =

Per il ripristino di un backup differenziale, le cose sono un poco più lunghe. Prima di tutto, bisogna ripristinare il primo backup completo, come abbiamo visto precedentemente. Poi, in ordine cronologico, tutti i vari backup differenziali, in ordine cronologico. Inoltre, in questo caso, è necessario utilizzare l'opzione '''-w''', che indica di sovrascrivere eventuali file già esistenti; questo permette di sovrascrivere, man mano che si procede con i backup differenziali, le vecchie versioni dei files con le nuove.

Supponiamo di aver ripristinato ''home_backup'': a questo punto, possiamo ripristinare ''home_backup_2'' con il seguente comando: {{{
== Ripristino differenziale ==

Per il ripristino di un backup differenziale, il processo è leggermente più complesso. Prima di tutto, è necessario ripristinare il primo backup completo, come descritto in precedenza. Successivamente, si procede con tutti i backup differenziali successivi, rispettando l'ordine cronologico. Inoltre, in questo caso è necessario utilizzare l'opzione '''-w''', che permette di sovrascrivere eventuali file già esistenti; ciò consente di sovrascrivere, man mano che si procede con i backup differenziali, le versioni precedenti dei file con quelle più recenti.

Supponendo di aver ripristinato '''home_backup''', si può quindi ripristinare '''home_backup_2''' con il seguente comando:{{{
Linea 107: Linea 177:
= Ripristino parziale =

Supponiamo adesso di voler ripristinare solamente un file. Questo è un caso in cui Dar si mostra superiore a [:BackupConTar:Tar], in quanto il suo accesso causale permette un ripristino molto più veloce.

Per estrarre il file, bisogna specificarlo nella riga di comando: {{{
== Ripristino parziale ==

=== Singolo file ===

Per ripristinare un singolo file, DAR si dimostra superiore a [[AmministrazioneSistema/BackupDelSistema/BackupConTar|tar]] grazie al suo accesso casuale, che consente un ripristino molto più veloce.

Per estrarre il file, è necessario specificarlo nella [[AmministrazioneSistema/Terminale|riga di comando]], digitando:{{{
Linea 113: Linea 185:
}}}

 * '''-I''' questa opzione permette di specificare pattern di files (NON di directory), che devono essere inclusi nell'operazione. Nel caso di un ripristino, vengono recuperati i file che soddisfano il pattern, tralasciando tutti gli altri; in questo caso specifico si è utilizzato come pattern un nome di file, ma potevano esserci ovviamente delle wildcards ( * e ? ) o delle espressioni regolari. Inoltre, si possono usare più istanze di -I nello stesso comando. Vengono ripristinati i files da qualsiasi livello di nidificazione della struttura della directory.

Se invece si vuole ripristinare una directory, il comando da digitare è il seguente: {{{
}}}L'opzione '''-I''' permette di specificare pattern di file (__non__ di directory) da includere nell'operazione. In fase di ripristino, vengono recuperati i file che soddisfano il pattern, tralasciando tutti gli altri. Nell'esempio, è stato utilizzato un nome di file, ma sono supportate anche wildcard (`*` e `?`) o espressioni regolari. È possibile utilizzare più istanze di `-I` nello stesso comando. I file vengono ripristinati da qualsiasi livello di nidificazione della struttura della directory.

=== Una sola directory ===

Se invece è necessario ripristinare una directory, il comando da digitare è il seguente:{{{
Linea 121: Linea 193:
 * '''-g''' questa opzione serve per ripristinare specifiche directory del backup. Anche in questo caso si possono usare più istanze dell'opzione per ripristinare più directory con un'unico comando.

Combinando -I e -g, potete ripristinare tutto quello che si vuole in un unico comando, e questo è veramente utile in moltissimi casi; analogamente, esistono delle opzioni che fanno il contrario, utili in altri casi:

 * '''-P''' l'abbiamo già visto: ignora determinate directory in fase di creazione del backup, e funziona anche per il ripristino. Se usato, effettua un ripristino completo escludendo queste specifiche directory. Si può usare, ad esempio, quando si vuole eseguire un ripristino della home, ma non vogliamo che le cartelle di configurazione dei programmi vengano modificate.
 * '''-X''' duale di -I, esclude dal ripristino determinati files, esprimibili anche come espressioni regolari.

Combinando opportunamente queste quattro opzioni, è possibile solo quello che avete perso, con grande precisione.

== Opzioni ausiliarie ==

Ci sono almeno due opzioni interessanti ed utili, da effettuare su di un backup.

La prima cosa importante, dopo aver creato un backup e salvato nella posizione più opportuna, consiste nel testarlo: con Dar si utilizza allo scopo l'opzione '''-t''': {{{
dar -t /media/disco/backup_dar
}}}

In questo caso, bisogna specificare il path del backup, assieme al nome che, come al solito, deve essere privo di numero di slice e di estensione. Questo comando verifica l'integrità del backup, ed avvisa se ci sono stati problemi, ed in quale file.

Un'altra opzione consiste nel mostrare il contenuto di un backup, e questo si ottiene mediante l'utilizzo dell'opzione '''-l''': {{{
dar -l /media/disco/backup_dar
}}}

Quello che si ottiene è una lista dei file nel backu. Di solito è utile metterlo in ''pipe'' a [:Grep:] per poter estrarre la lista dei file che si vuole, oppure reindirizzare il suo output in un file, da analizzare dopo con calma, dato che comunque, a seconda del backup, il numero di file elencati può essere spropositato.

= Script =

Come già detto, un vantaggio notevole di Dar (come di molti altri programmi che lavorano da terminale), è quello di poter automatizzare il lavoro tramite script.

Creeremo, adesso, uno script che permette di automatizzare il processo di backup, andando a creare un backup completo, e poi vari backup differenziali. Passato un determinato numero di giorni, si procede alla creazione di un nuovo backup completo e così via, per evitare di avere troppi backup differenziali nel nostro disco.

Dato che lo script serve ad automatizzare il tutto, sarà privo di opzioni a riga di comando, e la configurazione si eseguirà nella prima parte, dove sono specificate tutte le opzioni necessarie.

Questo script ha ancora alcune limitazioni: ad esempio, non cancella il precedente backup quando il successivo completo viene eseguito (ovviamente dopo la verifica), quindi dovrete cancellare a mano i backup precedenti (o modificare questo a vostro piacere). Un altro difetto consiste in un messaggio di avvertimento nel caso in cui due backup completi successivi vengono eseguiti nello stesso giorno. In questo caso, infatti, la cartella avrà il medesimo nome, e ci sarà un warning per quanto riguarda la sovrascrittura.

Per il resto, è pienamente funzionante, basta che andiate, come già detto, a modificare le variabili come più vi aggrada.

Per lo script, [http://wiki.ubuntu-it.org/BackupDelSistema/Dar?action=AttachFile&do=view&target=script-backup-dar.txt seguite questo collegamento]

A parte questi problemi (che spero di risolvere al più presto), lo script è funzionante una volta personalizzato nelle opzioni.

Per il recupero dei dati, invece, per ora non viene dato nessuno script, perchè l'estrazione, usando le opzioni '''-I''' e '''-g''', come abbiamo visto prima, è relativamente semplice. Se volete, potete creare uno script per evitare di introdurre a mano i path di backup, ma è meno faticoso scrivere il comando che creare lo script con il numero variabili d'argomenti. Inoltre il ripristino non deve essere automatizzato, dato che deve essere eseguito solo quando serve effettivamente.

Ricordate solamente che, per un ripristino differenziale, bisogna prima ripristinare il file dal backup completo, e poi da quello differenziale.

A presto per ulteriori aggiornamenti.
 * L'opzione '''-g''' serve per ripristinare specifiche directory del backup. Anche in questo caso, è possibile utilizzare più istanze dell'opzione per ripristinare più directory con un unico comando.
 * Combinando `-I` e `-g`, è possibile ripristinare qualsiasi elemento desiderato in un unico comando, il che risulta estremamente utile in molteplici scenari. Analogamente, esistono anche opzioni che permettono l'esclusione di elementi, utili in altri casi:
 * L'opzione '''-P''' (già trattata) ignora determinate directory in fase di creazione del backup e funziona anche per il ripristino. Se utilizzata in fase di ripristino, effettua un ripristino completo escludendo le directory specificate. È utile, ad esempio, quando si desidera eseguire un ripristino della home ma non si vuole che le cartelle di configurazione dei programmi vengano modificate.
 * L'opzione '''-X''', duale di `-I`, esclude dal ripristino determinati file, esprimibili anche come espressioni regolari.

Combinando opportunamente queste quattro opzioni, è possibile ripristinare solo ciò che è stato perso, con grande precisione.
Linea 170: Linea 202:
 * [http://dar.linux.free.fr/ Home page di Dar]

 * [http://dar.linux.free.fr/doc/mini-howto/dar-differential-backup-mini-howto.it.html Tutorial in italiano]
 * [[http://dar.linux.free.fr/|Sito ufficiale del progetto]]
 * [[http://dar.linux.free.fr/doc/mini-howto/dar-differential-backup-mini-howto.it.html|Tutorial in italiano]]
Linea 174: Linea 206:
CategoryAmministrazione CategoryDaRevisionare CategoryAmministrazione


Guida verificata con Ubuntu: 22.04 24.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

DAR, acronimo di Disk ARchive, è un programma utile per la creazione e il ripristino di backup del sistema.

Installazione

Installare il pacchetto dar.

È possibile utilizzare il software tramite un'interfaccia grafica, denominata dargui, disponibile al seguente indirizzo.

Operazioni di backup

Per creare una copia di sicurezza dei dati personali presenti in ~/dati_del_backup, è possibile utilizzare il comando dar con una sintassi simile alla seguente:

dar -c <nomefile> -R ~/dati_del_backup

Di seguito una breve spiegazione delle opzioni utilizzate:

Sintassi opzioni

Opzione

Risultato

-c <nomefile>

Crea il backup e assegna il nome specificato. Al termine dell'operazione, all'interno del percorso corrente verrà creato un file con nome backup.1.dar.

-R

Specifica la cartella da copiare.

-s

Specifica la dimensione di ogni porzione di backup.

-Z

Specifica i file da non comprimere.

-P

Percorso relativo da escludere dal backup.

-D

Ripristina un backup includendo le cartelle vuote.

-p

Inserisce una pausa tra la creazione di una porzione e l'altra.

-E cmd

Esegue il comando specificato in cmd tra la creazione di una porzione e l'altra.

-y

Attiva la compressione bzip2, che è più efficiente di gzip.

-z

Attiva la compressione gzip.

Assicurarsi che il percorso corrente sia diverso da quello della cartella da copiare e che non contenga la directory di destinazione stessa. In tal caso, escludere la directory di destinazione tramite l'opzione dedicata, discussa più avanti.

Il risultato del comando precedente sarà simile al seguente:

 --------------------------------------------
 130 inode(s) saved
 with 0 hard link(s) recorded
 0 inode(s) changed at the moment of the backup
 0 inode(s) not saved (no inode/file change)
 0 inode(s) failed to save (filesystem error)
 0 inode(s) ignored (excluded by filters)
 0 inode(s) recorded as deleted from reference backup
 --------------------------------------------
 Total number of inode considered: 130
 --------------------------------------------
 EA saved for 0 inode(s)
 --------------------------------------------

Backup parziale

Per eseguire un backup contenente solo specifiche directory o file, Dar utilizza le opzioni -I (per includere file) e -g (per includere directory) in fase di creazione del backup.

Backup di un singolo file

Per creare un backup contenente solo un file specifico, ad esempio documenti/relazione.odt, si può usare il seguente comando:

dar -c backup_parziale_file -R ~/mie_risorse -I "documenti/relazione.odt"

L'opzione -I specifica il percorso esatto del file da includere nel backup. È importante notare che il percorso specificato con -I è relativo alla directory indicata da -R. È possibile usare anche caratteri jolly (wildcard) o espressioni regolari con -I. Ad esempio, per includere tutti i file .jpg dalla directory foto:

dar -c backup_foto_jpg -R ~/mie_risorse -I "foto/*.jpg"

Backup di una singola directory

Per creare un backup che includa solo una o più directory specifiche, si usa l'opzione -g. Ad esempio, per fare il backup della sola directory documenti (e tutto il suo contenuto):

dar -c backup_documenti -R ~/mie_risorse -g "documenti"

L'opzione -g specifica la directory da includere. Il percorso è relativo alla directory specificata con -R.
È possibile utilizzare più istanze di -g nello stesso comando per includere più directory:

dar -c backup_doc_foto -R ~/mie_risorse -g "documenti" -g "foto"

Combinazione di inclusione ed esclusione

È possibile combinare le opzioni -I e -g con le opzioni di esclusione (come -X o -P) per un controllo granulare. Ad esempio, per includere una directory ma escludere un certo tipo di file al suo interno:

dar -c backup_documenti_no_pdf -R ~/mie_risorse -g "documenti" -X "*.pdf"

In questo caso, -g "documenti" include l'intera directory documenti, mentre -X "*.pdf" esclude tutti i file con estensione .pdf all'interno delle directory incluse.

Dar offre molta flessibilità per personalizzare i backup, permettendo di includere o escludere file e directory in base a precise esigenze.

Backup differenziale

La creazione dei backup differenziali è una delle operazioni fondamentali in una strategia di backup.

Questi backup sono importanti perché permettono di risparmiare moltissimo spazio, memorizzando solamente le differenze tra un backup precedente e quello attuale. Se, per esempio, sono presenti grosse porzioni della directory che restano invariate (es. collezione MP3 e foto), queste non verranno memorizzate nuovamente nel backup successivo.

Lo svantaggio consiste nel fatto che, per il ripristino completo, oltre al backup differenziale, sarà necessario anche il backup precedente e così via, fino all'ultimo backup completo.

Dal punto di vista del backup, un backup differenziale ha una sintassi praticamente uguale a quella del backup completo analizzato finora.

L'unica differenza è l'aggiunta di un'opzione:

dar -c /media/disco_temporaneo/home_backup_2 -R /home/daniele -s 4G -Z "*.jpg" -Z "*.mp3" -P .Trash -P Download -D -y -A /media/disco_backup/home_backup

Sintassi opzioni

Opzione

Risultato

-A

Con questa opzione si specifica la posizione dell'ultimo backup eseguito (completo o differenziale). Il programma analizzerà il backup e considererà esclusivamente le modifiche.

Se il backup precedente è diviso in più slices, è necessario indicare il percorso della prima o dell'ultima slice (sempre senza specificare .numero.dar alla fine del file). Questo perché queste due slices contengono un riassunto dell'intero backup, chiamato catalogo.

È consigliabile adottare una metodologia per rinominare i backup in modo sensato, per comprenderne la sequenza; solitamente, includere la data nel nome del backup è un metodo efficace per mantenere l'ordine. Una nomenclatura regolare permette anche di agevolare un eventuale script di ripristino, poiché facilita la creazione di script di ripristino automatizzati, permettendo al sistema di gestire il processo in modo ordinato.

Opzioni ausiliarie

Sono disponibili alcune opzioni utili da eseguire su un backup.

  • Una prima operazione importante, dopo aver creato un backup e salvato in una posizione appropriata, consiste nel verificarne l'integrità. A tale scopo, con Dar si utilizza l'opzione -t:

    dar -t /media/disco/backup_dar
    In questo caso, è necessario specificare il percorso del backup, incluso il nome base, che non deve includere il numero di slice né l'estensione. Questo comando verifica l'integrità del backup e segnala eventuali problemi e i file interessati.
  • Un'altra opzione consente di mostrare il contenuto di un backup, e ciò si ottiene utilizzando l'opzione -l:

    dar -l /media/disco/backup_dar

    Si ottiene un elenco dei file presenti nel backup. È spesso utile indirizzare l'output tramite una 'pipe' a grep per filtrare l'elenco dei file, oppure reindirizzare l'output in un file per un'analisi successiva e più approfondita, poiché, a seconda della dimensione del backup, il numero di file elencati può essere molto elevato.

Script

Un vantaggio notevole di Dar (come molti altri programmi che operano da terminale) risiede nella possibilità di automatizzare il lavoro tramite script.

Scaricare lo script proposto, che permette di automatizzare il processo di backup, creando un backup completo e successivamente vari backup differenziali. Dopo un determinato numero di giorni, si procede alla creazione di un nuovo backup completo, per evitare un numero eccessivo di backup differenziali sul disco.

Lo script presentato ha alcune limitazioni:

  • non cancella il precedente backup quando il successivo completo viene eseguito (ovviamente dopo la verifica); è quindi necessario cancellare manualmente i backup precedenti (o modificare lo script secondo le proprie esigenze).
  • un messaggio di avvertimento nel caso in cui due backup completi successivi vengano eseguiti nello stesso giorno. In questo caso, infatti, la cartella avrà il medesimo nome e si verificherà un avvertimento per quanto riguarda la sovrascrittura.

Per il recupero dei dati, invece, non viene fornito uno script, perché l'estrazione, usando le opzioni -I e -g, come illustrato in precedenza, è relativamente semplice. È possibile creare uno script per evitare l'introduzione manuale dei percorsi di backup; tuttavia, spesso risulta meno oneroso scrivere il comando direttamente anziché creare uno script con un numero variabile di argomenti. Inoltre, il ripristino non necessita di essere automatizzato, poiché deve essere eseguito solo quando effettivamente richiesto.

Ripristino

È importante ricordare che, per un ripristino differenziale, è necessario ripristinare i file prima dal backup completo e successivamente da quello differenziale.

Per ripristinare il backup creato nell'esempio precedente, è sufficiente utilizzare un comando simile al seguente:

dar -x backup

L'opzione -x specifica il percorso del file di backup da estrarre. Il backup viene ripristinato nella directory corrente. In alternativa, è possibile specificare un percorso alternativo utilizzando l'opzione -R, come nell'esempio seguente:

dar -x backup -R ~/prova

Il backup creato precedentemente viene ripristinato in ~/prova. Il risultato del comando precedente sarà simile al seguente:

 --------------------------------------------
 130 inode(s) restored
 0 inode(s) not restored (not saved in archive)
 0 inode(s) ignored (excluded by filters)
 0 inode(s) less recent than the one on filesystem
 0 inode(s) failed to restore (filesystem error)
 0 inode(s) deleted
 --------------------------------------------
 Total number of inode considered: 130
 --------------------------------------------
 EA restored for 0 inode(s)
 --------------------------------------------

Ripristino differenziale

Per il ripristino di un backup differenziale, il processo è leggermente più complesso. Prima di tutto, è necessario ripristinare il primo backup completo, come descritto in precedenza. Successivamente, si procede con tutti i backup differenziali successivi, rispettando l'ordine cronologico. Inoltre, in questo caso è necessario utilizzare l'opzione -w, che permette di sovrascrivere eventuali file già esistenti; ciò consente di sovrascrivere, man mano che si procede con i backup differenziali, le versioni precedenti dei file con quelle più recenti.

Supponendo di aver ripristinato home_backup, si può quindi ripristinare home_backup_2 con il seguente comando:

dar -x /media/disco_temporaneo/home_backup_2 -R /home/daniele -w

Questo è il comando necessario per il ripristino del backup differenziale.

Ripristino parziale

Singolo file

Per ripristinare un singolo file, DAR si dimostra superiore a tar grazie al suo accesso casuale, che consente un ripristino molto più veloce.

Per estrarre il file, è necessario specificarlo nella riga di comando, digitando:

dar -x /media/disco_temporaneo/home_backup -I "Evangeline.jpg"

L'opzione -I permette di specificare pattern di file (non di directory) da includere nell'operazione. In fase di ripristino, vengono recuperati i file che soddisfano il pattern, tralasciando tutti gli altri. Nell'esempio, è stato utilizzato un nome di file, ma sono supportate anche wildcard (* e ?) o espressioni regolari. È possibile utilizzare più istanze di -I nello stesso comando. I file vengono ripristinati da qualsiasi livello di nidificazione della struttura della directory.

Una sola directory

Se invece è necessario ripristinare una directory, il comando da digitare è il seguente:

dar -x /media/disco_temporaneo/home_backup -g directory
  • L'opzione -g serve per ripristinare specifiche directory del backup. Anche in questo caso, è possibile utilizzare più istanze dell'opzione per ripristinare più directory con un unico comando.

  • Combinando -I e -g, è possibile ripristinare qualsiasi elemento desiderato in un unico comando, il che risulta estremamente utile in molteplici scenari. Analogamente, esistono anche opzioni che permettono l'esclusione di elementi, utili in altri casi:

  • L'opzione -P (già trattata) ignora determinate directory in fase di creazione del backup e funziona anche per il ripristino. Se utilizzata in fase di ripristino, effettua un ripristino completo escludendo le directory specificate. È utile, ad esempio, quando si desidera eseguire un ripristino della home ma non si vuole che le cartelle di configurazione dei programmi vengano modificate.

  • L'opzione -X, duale di -I, esclude dal ripristino determinati file, esprimibili anche come espressioni regolari.

Combinando opportunamente queste quattro opzioni, è possibile ripristinare solo ciò che è stato perso, con grande precisione.

Ulteriori risorse


CategoryAmministrazione