Guida verificata con Ubuntu: 20.04

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Duplicity effettua il backup producendo archivi compressi in formato .tar salvandoli su destinazioni locali io remote. Utilizza GPG per cifrare o firmare gli archivi.

In questa guida verranno mostrati degli esempii di utilizzo di Duplicity compiendo dei salvataggi su un server FTP remoto.

Installazione e configurazione

  1. Installare il pacchetto duplicity.

  2. Preparare il percorso per ricevere i file di backup. Per quanto concerne la configurazione del proprio server FTP si veda la relativa guida oppure si consulti la documentazione del proprio web hosting.

  3. Una volta configurato l'account FTP creare la cartella di destinazione dei file di backup in una posizione non raggiungile dal server web. Negli esempi, sul server FTP, è stata creata la cartella backup.

  4. Si tenterà di compiere delle copie di backup di una cartella locale avente la seguente struttura:

    mario@mario:~/Scrivania$ tree salvami/
    salvami/
    |-- due.txt
    |-- sottocartella
    |   `-- quattro.txt
    |-- tre.txt
    `-- uno.txt

Funzionalità di base

Backup

  1. Per eseguire il backup copiare quanto segue in un editor di testo:

    export PASSPHRASE=UnaPasswordMoltoLungaDifficilmenteCraccabile
    export FTP_PASSWORD=LaPasswordDelServerFTP
    duplicity /home/mario/Scrivania/salvami ftp://UtenteFTP@ftp.nomedominio.com/backup
    unset PASSPHRASE
    unset FTP_PASSWORD

    e salvarlo denominandolo backup.sh.

  2. Attribuire allo script appena creato i seguenti permessi:

    chmod 700 backup.sh
  3. Tale script eseguirà il backup della cartella salvami posizionata sulla Scrivania in volumi compressi e cifrati con la password specificata e quindi caricherà i file di backup sullo spazio FTP all'interno della cartella backup utilizzando i nomi utenti e la password specificate.

  4. Dopo aver modificato adeguatamente l'esempio, lanciarlo digitando in un terminale il seguente comando:

    ./backup.sh

    Al termine delle operazioni, lo script restituirà un output simile al seguente:

    --------------[ Backup Statistics ]--------------
    StartTime 1292235612.44 (Mon Dec 13 11:20:12 2010)
    EndTime 1292235612.48 (Mon Dec 13 11:20:12 2010)
    ElapsedTime 0.04 (0.04 seconds)
    SourceFiles 6
    SourceFileSize 8192 (8.00 KB)
    NewFiles 6
    NewFileSize 8192 (8.00 KB)
    DeletedFiles 0
    ChangedFiles 0
    ChangedFileSize 0 (0 bytes)
    ChangedDeltaSize 0 (0 bytes)
    DeltaEntries 6
    RawDeltaSize 0 (0 bytes)
    TotalDestinationSizeChange 300 (300 bytes)
    Errors 0
    -------------------------------------------------
    dove si può leggere che in circa 4 secondi sono stati salvati 6 elementi della grandezza complessiva di 8Kb e non ci sono stati errori.
  5. Sul server FTP si dovrebbe trovare un elenco di file simile al seguente:

    duplicity-full-signatures.2010-11-27T01:00:01-05:00.sigtar.gpg
    duplicity-full.2010-11-27T01:00:01-05:00.manifest.gpg
    duplicity-full.2010-11-27T01:00:01-05:00.vol1.difftar.gpg
    duplicity-full.2010-11-27T01:00:01-05:00.vol2.difftar.gpg

Per ulteriori dettagli si rimanda alla pagina man di Duplicity. In questa sede si fa una breve menzione a:

Verifica

Elenco dei file archiviati

Ripristino

Alcune note sullo script restore.sh appena visto:

Fare riferimento alla pagina di man per conoscere le altre modalità di ripristino dei file di backup.

Automatizzare Duplicity

Aggiungere il file backup.sh all'interno di cron:

0 0 * * * /home/mario/Scrivania/backup.sh >>/var/log/duplicity/etc.log

Sarà eseguito un backup a mezzanotte e verrà creato un log per potere verificare che i backup siano stati compiuti con successo.

Funzionalità avanzate

Con l'aumentare del numero dei backup eseguiti il ripristino dei file potrebbe subire dei rallentamenti. Questo perché il file di base è presente solo sul primo backup completo e i backup incrementali conterranno solo le differenze rispetto al primo.

In questo modo, sarà necessario scaricare il volume che contiene il file di base e anche tutti i file di backup incrementale che detengono le modifiche che devono essere applicate al file. Di conseguenza è necessaria una corretta gestione del backup per mantenerlo sotto controllo. Una soluzione potrebbe essere quella di compiere dei backup completi con cadenza mensile.

Cancellare i vecchi backup

Questo comando elimina i backup più vecchi di un anno:

duplicity remove-older-than 1Y --force ftp://UtenteFTP@ftp.nomedominio.com/backup

Non è possibile fare un backup (completo o incrementale) e cancellare i vecchi file con lo stesso comando.

Cambiare modalità di backup

Supponiamo si voglia eseguire il backup solo il primo giorno del mese. Il secondo script di seguito indicato mostra come è possibile farlo utilizzando l'opzione 'full-if-older-than 1M'. Questo verificherà che duplicity faccia il backup una sola volta al mese anche quando il backup del primo del mese fallisca.

Script di esempio

Primo script di esempio

Questo script esegue solo il backup del file delle password GPG. Si noti i file non saranno crittografati. Questo perché i file GPG lo sono già. L'esempio è disponibile in allegato. Si vedano i commenti interni al file e lo si modifichi nel modo appropriato.

Secondo script di esempio

Fare una copia completa ogni mese (si veda anche sopra). L'esempio è disponibile in allegato. Si vedano i commenti interni al file.

Ulteriori risorse


CategoryAmministrazione

AmministrazioneSistema/BackupDelSistema/Duplicity (l'ultima modifica è del 12/06/2021 15.52.56, fatta da andreas-xavier)