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 9 e 42 (in 33 versioni)
Versione 9 del 24/09/2007 15.08.22
Dimensione: 19256
Autore: DanieleLupo
Commento:
Versione 42 del 22/10/2021 10.39.02
Dimensione: 13363
Autore: ivantu
Commento: aggiunto tabella e piccole correzioni
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
[[BR]]
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]] [[TableOfContents]]||
## page was renamed from AmministrazioneSistema/BackupDelSistema/BackupConDar
#format wiki
#language it
<<BR>>
<<Indice>>
<<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t=646306"; rilasci="20.04 18.04")>>
= Introduzione =
Linea 4: Linea 9:
= DAR = '''DAR''', acronimo di '''D'''isk '''AR'''chive, è un programma utile per la creazione ed il ripristino di backup del proprio sistema.
Linea 6: Linea 11:
== Cos'è DAR == = Installazione =
Linea 8: Linea 13:
Dar, è un programma, il cui nome sta per '''D'''isk '''AR'''chive (analogamente a tar, che però è più incentrato ad un backup su nastro). In parole povere, è un programma, da eseguire da riga di comando, per la creazione ed il ripristino del backup del vostro sistema. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://dar | dar]].
Linea 10: Linea 15:
== Backup == É possibile utilizzare il software da una pratica interfaccia grafica, denominata '''dargui''', al [[http://dargui.sourceforge.net/|seguente indirizzo]].
Linea 12: Linea 17:
=== Bacosa? === = Operazioni di backup =
Linea 14: Linea 19:
Un backup è un po' come una Ferrari: tutti lo conoscono, ma pochi ce l'hanno; ed il fatto è tanto più grave, considerando che un buon backup, al contrario di una Ferrari, permette di risparmiare molto, evitando situazioni catastrofiche. Quando si pensa ad un backup, subito la mente va agli uffici, ai documenti di vitale importanza per un'azienda. Questo è sicuramente vero, ma bisogna ponderare sempre l'importanza dei documenti che si hanno in possesso. Anche in ambiente casalingo una politica di backup non è da sottovalutare.

=== Dove creare il backup ===

In ambito aziendale, la posizione migliore dove effettuare il backup è in un server dedicato: date le risorse tipiche di un ufficio, la creazione di un server di questo tipo è elementare.

Tuttavia solo in pochi casi un utente casalingo può permettersi un backup-server, per cui bisogna considerare altre, economiche, alternative:

 * '''CD-DVD''' Il vantaggio principale consiste nel fatto che la la masterizzazione è alla portata di tutti, con supporti economici. Gli svantaggi consistono nel fatto che il backup difficilmente può venire automatizzato, dato che bisogna sempre inserire e masterizzare i supporti ottici: inoltre sono poco efficienti per backup differenziali. Infine, la durata nel tempo di un cd è limitata ad un paio d'anni, prima di poter avere perdite di dati.
 * '''Hard Disk dedicato''' Un disco esterno USB o firewire (o con interfaccia di rete) è la miglior soluzione casalinga. Grossa capienza, basso costo al gigabyte e durata sono solo alcuni vantaggi. Dato che non necessita di operazioni manuali, al contrario dei CD, è anche consigliato per backup automatizzati da script.
 * '''Storage on-line''' Esistono siti dove, previa iscrizione, è possibile effettuare lo storage dei propri dati. La scelta è ampia, in relazione al tipo di protocollo di trasferimento e di costo al gigabyte. Per chi non ha grosse esigenze di spazio, una buona alternativa è l'utilizzo di un accont di posta Gmail, montato come disco locale tramite Fuse.

== DAR ==

=== Perchè DAR? ===

Perchè mi piace... ;)

Dar, al contrario di [:BackupConTar:Tar], è orientato ai dischi, invece che al nastro. Sebbene a primo acchito possa significare poco, ci sono almeno due vantaggi: il primo consiste nell'accesso causale ai dati, invece che sequenziale, permettendo di estrarre più velocemente singoli files dal backup. In seconda battuta, la compressione avviene a livello di singolo file per cui, se si corrompe il file di backup, verranno persi solamente i files corrotti e non l'intero archivio. Entrambi i vantaggi si apprezzano particolarmente nei backup con CD, dove la velocità di lettura non è paragonabile ad un Hard Disk, e dove la probabilità di corruzione, dovuta a polvere e graffi, è più alta.

Un altro motivo, è la semplice gestione degli slices, che permette di suddividere il backup in più files, che poi possono essere memorizzati separatamente.

Si possono gestire facilmente anche backup differenziali, permettendo un notevole risparmio di tempo e di spazio, durante la creazione dei backup, salvando solo le differenze di filesystem fra un backup ed il successivo.

Infine, è uno strumento a linea di comando facile da imparare e portato al suo uso in script, quindi può essere utile da un punto di vista educativo per un nuovo utente, permettendo di creare con facilità script realmente utili, e non fini a se stessi.

== Utilizzo di DAR ==

=== Installazione di DAR ===

Dar si installa direttamente dai repository universe:

{{{
sudo aptitude install dar
Per creare una [[AmministrazioneSistema/ComandiBase#cp|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 <nomefile> -R ~/dati_del_backup
Linea 50: Linea 23:
Non è necessaria nessuna configurazione. Quella che segue è una breve spiegazione delle opzioni utilizzate:
Linea 52: Linea 25:
=== Utilizzo base === <<Anchor(sintassi)>>
Linea 54: Linea 27:
Nonostante esista un'interfaccia grafica ([:KDar:]), ci concentreremo qua sull'utilizzo da riga di comando. ||<tablestyle="width: 70%;" rowstyle="background-color: #cccccc;" 20%:>'''Opzione'''||<80%:> '''Risultato''' ||
||<:>'''-c <nomefile>''' || crea il backup e gli assegna il nome assegnato. 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. ||
||<:>'''-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 [[AmministrazioneSistema/FormatiDiCompressione#bzip2|bzip2]], che è più efficiente di [[AmministrazioneSistema/FormatiDiCompressione#gzip|gzip]] ||
||<:>'''-z''' || attiva la compressione [[AmministrazioneSistema/FormatiDiCompressione#gzip|gzip]] ||
Linea 56: Linea 39:
Per impararne l'utilizzo, consiglio la creazione di una directory provvisoria, dove introdurre alcuni file di cui effettuare il backup. {{{#!wiki important
Assicurarsi che il percorso corrente sia diverso da quello della cartella che si desidera copiare, e che non contenga la directory stessa di destinazione. Se dovesse capitare, escludere la directory di destinazione tramite l'apposita opzione discussa più avanti.}}}
Linea 58: Linea 42:
==== Backup ====

Per creare il backup della cartella ''/home/daniele/appunti'', e salvare il backup con il nome ''appunti_backup'', la sintassi da seguire è la seguente:

{{{
dar -c appunti_backup -R /home/daniele/appunti
}}}

Le due opzioni utilizzate sono:

 * '''-c''' questa opzione dice a DAR di creare un backup, e di chiamarlo ''appunti_backup''. il file effettivamente creato, si chiamerà ''appunti_backup.1.dar'', dove 1 è il numero della slice, e .dar è l'estensione, che quindi non devono essere aggiunti nel nome.
 * '''-R''' questa opzione specifica la directory di cui si vuole effettuare il backup.

In questo caso, il file di backup verrà creato nella directory corrente; è importante NON creare il backup all'interno della stessa directory che si vuole backuppare, perchè altrimenti il programma entra in un loop infinito. Assicuratevi sempre di essere in posizioni diverse, magari usando path assoluti:

{{{
dar -c /home/daniele/appunti_backup -R /home/daniele/appunti
}}}

L'output del comando è simile al seguente

{{{
Il risultato del precedente comando sarà simile al seguente: {{{
Linea 95: Linea 58:
Gli ''inode'' sono praticamente i files che avete salvato (tenendo conto di cartelle, link simbolici etc), mentre gli altri si riferiscono ad inode che, in in modo o nell'altro, non sono stati salvati. Quelle che seguono sono alcune fra le opzioni più comuni:
Linea 97: Linea 60:
L'importante è che, se adesso vedete nella vostra home, vedrete il file di backup appena creato. ||<tablestyle="width: 70%;" rowstyle="background-color:#cccccc;" 20%:>'''Opzione'''||<80%:> '''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 [[AmministrazioneSistema/FormatiDiCompressione#bzip2|bzip2]], che è più efficiente di [[AmministrazioneSistema/FormatiDiCompressione#gzip|gzip]] ||
||<:>'''-z''' || attiva la compressione [[AmministrazioneSistema/FormatiDiCompressione#gzip|gzip]] ||
Linea 99: Linea 70:
==== Restore ==== == Backup differenziale ==
Linea 101: Linea 72:
Per ripristinare il backup, scrivete semplicemente Ora, una delle operazioni fondamentali in una politica di backup: la creazione dei backup differenziali.
Linea 103: Linea 74:
{{{
dar -x /home/daniele/appunti_backup
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
Linea 107: Linea 84:
 * '''-x''' con questa opzione si specifica il percorso del file di backup da estrarre.  * '''-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.
Linea 109: Linea 86:
Ci sono alcune considerazioni da fare. In prima battuta, nel path del file, non bisogna specificare nè il numero nè l'estensione del file. In secondo luogo, il backup viene ripristinato all'interno della cartella dove ci si trova quando si invoca il comando. Per specificare la directory dove dovrà essere estratto il backup, bisogna utilizzare l'opzione '''-R''' 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'''.
Linea 111: Linea 88:
{{{
dar -x /home/daniele/appunti_backup -R /home/daniele/appunti
È 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 =

 * Per ripristinare il backup dell'esempio sopra citato, è sufficiente digitare un comando simile al seguente: {{{
dar -x backup
Linea 115: Linea 96:
In questo modo userà il percorso specificato da -R come radice per il ripristino. L'output sarà simile al seguente:  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: {{{
dar -x backup -R ~/prova
}}}
Linea 117: Linea 100:
{{{  * Il backup precedentemente creato verrà ripristinato in `~/prova`. Il risultato del precedente comando sarà simile al seguente: {{{
Linea 132: Linea 115:
=== Qualche opzione in più === == Ripristino differenziale ==
Linea 134: Linea 117:
Vediamo un caso più particolare. 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.
Linea 136: Linea 119:
Si vuole effettuare il backup della home directory. Saranno presenti, in un utente casalingo, di solito, una cartella per i download da internet, una per i files temporanei e così via, cartelle di cui non è necessario effettuare il backup. Inoltre, saranno presenti, in genere, molti files musicali .mp3 oppure .ogg, e molte immagini .jpg, che non hanno dati ridondanti e che quindi non ha senso comprimere nel backup.

Inoltre, si vuole specificare anche che il backup deve essere masterizzato su DVD, per cui si deve dividere in tante parti quante sono necessarie, di grandezza adeguata.

Il comando da scrivere è il seguente:

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

Notate che il backup viene creato al di fuori della home, per evitare il problema del loop del backup che memorizza se stesso.

Vediamo le nuove opzioni:

 * '''-s''' Si può specificare la dimensione di ogni slice. Dato che masterizziamo su DVD, ho posto il limite a 4 gigabyte (4G). Possiamo specificarlo anche in megabyte, ad esempio 650M per un cd. L'unica limitazione consiste nel fatto che il numero deve essere rappresentato da un intero, quindi scriveremo 4200M invece di 4.2G, se vogliamo sfruttare fino al limite i nostri supporti.
 * '''-Z''' specifica i pattern dei nomi dei files che NON devono essere compressi: nel nostro caso vogliamo che i jpg e gli mp3 siano memorizzati così come sono, senza alcuna compressione che sarebbe inutile.
 * '''-P''' indica il percorso relativo delle directory che vogliamo escludere dal backup.
 * '''-D''' Questa opzione è utile quando vogliamo ripristinare qualcosa da zero. Infatti utilizzandola, creeremo durante il ripristino anche le cartelle escluse con l'opzione -P, anche se resteranno vuote. La creazione della gerarchia delle directory è utile in alcuni casi, come quando ripristiniamo un sistema fresco d'installazione.
 * '''-y''' attiva la compressione bzip2, che è più efficiente di gzip (che si attiva con -z). Si può anche associare un numero da 0 a 9, che indica il livello di compressione.

Esiste un'opzione '''-E stringa''', che, alla fine della creazione di ogni slice, esegue il comando descritto in ''stringa'' prima di cominciare col successivo slice. Ad esempio, potete creare un comando che masterizzi la slice attuale, e poi la cancelli, per sprecare lo spazio di una sola slice nel vostro disco durante tutta l'operazione, quando nel vostro disco non è presente spazio sufficiente per l'intero backup.L'opzione '''-p''', invece mette in pausa fra la creazione di una slice e la successiva, permettendovi di eseguire manualmente altre operazioni sulle slice prima di procedere con la successiva.

=== 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:

{{{
Supponiamo di aver ripristinato '''home_backup''': a questo punto, possiamo ripristinare '''home_backup_2''' con il seguente comando: {{{
Linea 190: Linea 125:
=== Ripristino Parziale === == Ripristino parziale ==
Linea 192: Linea 127:
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. Supponiamo adesso di voler ripristinare solamente un file. Questo è un caso in cui Dar si mostra superiore a [[AmministrazioneSistema/BackupDelSistema/BackupConTar|tar]], in quanto il suo accesso causale permette un ripristino molto più veloce.
Linea 194: Linea 129:
Per estrarre il file, bisogna specificarlo nella riga di comando:

{{{
Per estrarre il file, bisogna specificarlo nella riga di comando: {{{
Linea 202: Linea 135:
Se invece si vuole ripristinare una directory, il comando da digitare è il seguente:

{{{
Se invece si vuole ripristinare una directory, il comando da digitare è il seguente: {{{
Linea 213: Linea 144:
Linea 217: Linea 149:
=== Opzioni ausiliari === = Opzioni ausiliarie =
Linea 221: Linea 153:
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''':

{{{
 * 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''': {{{
Linea 227: Linea 157:
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.  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.
Linea 229: Linea 159:
Un'altra opzione consiste nel mostrare il contenuto di un backup, e questo si ottiene mediante l'utilizzo dell'opzione '''-l''':

{{{
 * Un'altra opzione consiste nel mostrare il contenuto di un backup, e questo si ottiene mediante l'utilizzo dell'opzione '''-l''': {{{
Linea 235: Linea 163:
Quello che si ottiene è una lista dei file backuppati. 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.  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.
Linea 237: Linea 165:
== Script == = Script =
Linea 239: Linea 167:
Come già detto, un vantaggio notevole di Dar (come di molti altri programmi che lavorano da terminale), è quello di poter automatizzare il lavoro tramite degli script. Un vantaggio notevole di '''Dar''' (come di molti altri programmi che lavorano da terminale), è quello di poter automatizzare il lavoro tramite script.
Linea 241: Linea 169:
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. [[http://wiki.ubuntu-it.org/AmministrazioneSistema/BackupDelSistema/Dar?action=AttachFile&do=get&target=script-backup-dar2.txt|Questo script]] 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 sul disco.
Linea 243: Linea 171:
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. Lo script presentato ha alcune limitazioni:
Linea 245: Linea 173:
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.
 * 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.
Linea 257: Linea 180:
A presto per ulteriori aggiornamenti. = Ulteriori risorse =
Linea 259: Linea 182:
 * [[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 260: Linea 185:
== Links ==

Ovviamente, non potevano mancare alcuni links interessanti:

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

[CategoryBackupDelSistema]
----
CategoryAmministrazione


Problemi in questa pagina? Segnalali in questa discussione

Introduzione

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

Installazione

Installare il pacchetto dar.

É possibile utilizzare il software da una pratica interfaccia grafica, denominata dargui, al seguente indirizzo.

Operazioni di backup

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 <nomefile> -R ~/dati_del_backup

Quella che segue è una breve spiegazione delle opzioni utilizzate:

Opzione

Risultato

-c <nomefile>

crea il backup e gli assegna il nome assegnato. 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.

-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 bzip2, che è più efficiente di gzip

-z

attiva la compressione gzip

Assicurarsi che il percorso corrente sia diverso da quello della cartella che si desidera copiare, e che non contenga la directory stessa di destinazione. Se dovesse capitare, escludere la directory di destinazione tramite l'apposita opzione discussa più avanti.

Il risultato del precedente comando 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)
 --------------------------------------------

Quelle che seguono sono alcune fra le opzioni più comuni:

Opzione

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 bzip2, che è più efficiente di gzip

-z

attiva la compressione gzip

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

  • Per ripristinare il backup dell'esempio sopra citato, è sufficiente digitare un comando simile al seguente:

    dar -x backup

    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:

    dar -x backup -R ~/prova
  • Il backup precedentemente creato verrà ripristinato in ~/prova. Il risultato del precedente comando 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, 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:

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

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

Ripristino parziale

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

Per estrarre il file, bisogna specificarlo nella riga di comando:

dar -x /media/disco_temporaneo/home_backup -I "Evangeline.jpg"
  • -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:

dar -x /media/disco_temporaneo/home_backup -g directory
  • -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

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

Questo script 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 procederà alla creazione di un nuovo backup completo e così via, per evitare di avere troppi 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 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 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.

Ulteriori risorse


CategoryAmministrazione