Duplicity és una utilitat què ens permet fer un backup xifrat de la nostra informació amb aquestes característiques:

Per què utilitzar duplicity i no rsync?

Les dues opcions són bones.

Duplicity xifra els arxius amb GnuPG, mentre que Rsync no els xifra.

Per xifrar-los et demana la contrasenya en el moment de fer l’acció, però es pot automatitzar incloent un arxiu de text que dispose de la contrasenya de xifratge.

Com vaig arribar a Duplicity?

Feia servir deja-dup, utilitat que ve per defecte a Ubuntu. Aquesta utilitat és genial perquè et xifra els arxius amb un password que se li pot incloure.

El problema apareixia a l’hora d’automatitzar aquesta tasca amb cron, ja que deja-dup necessita un entorn gràfic per fer la feina.

Amb duplicity es pot programar un cron per fer-ho automàticament.

A més es pot verificar que no han hagut errades en el procés, mitjançant un comandament. Tot i que sempre es pot restaurar on vulguem.

Per si encara no fora prou, es pot restaurar un arxiu concret i es pot especificar els dies que fa que l’arxiu romania correctament.

  1. Creem el nostre primer backup
    sudo duplicity full txt file:///backup/tmp/
    

    A la terminanal ens apareix:

Last full backup date: none
GnuPG passphrase for decryption: 
Retype passphrase for decryption to confirm: 
--------------[ Backup Statistics ]--------------
StartTime 1518977840.70 (Sun Feb 18 19:17:20 2018)
EndTime 1518977840.71 (Sun Feb 18 19:17:20 2018)
ElapsedTime 0.01 (0.01 seconds)
SourceFiles 4
SourceFileSize 4117 (4.02 KB)
NewFiles 4
NewFileSize 4117 (4.02 KB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 4
RawDeltaSize 21 (21 bytes)
TotalDestinationSizeChange 284 (284 bytes)
Errors 0
-------------------------------------------------

Així ens demana el password, que caldrà posar.

GnuPG passphrase for decryption:
Retype passphrase for decryption to confirm:

En cas d’automatitzar el procés podem posar le password a mà així:

sudo duplicity --encrypt-key password_key_from_GPG --exclude files_to_exclude --include files_to_include /home/inclusa sftp://inclusa@192.168.0.200//backup_remot/2018
  1. Copia un fitxer d’una carpeta local a una altra carpeta local
    sudo duplicity arxiu.txt file:///backup/
    
  2. Copia un directori local a un altre directori local
    sudo duplicity directori file:///backup/directori
    

    Utilitzant aquesta opció, la segon vegada que fem el backup ho farà de forma incremental.

  3. Còpia tot el directori forçant la còpia no incremental sino total
    sudo duplicity full directori file:///backup/directori
    

    Aquesta opció copiarà tots els arxius del directori de forma no incremental, ja que l’opció full vol dir que aquesta vegada no ho farà de forma incremental.

  4. Afegint arxius de forma incremental, en cas de no trobar els arxius vells es pararà la còpia.
    sudo duplicity incr directori file:///backup/directori
    
  5. Restaurar la còpia
    sudo duplicity restore file:///backup/directori directori
    

    Així restaurarem la còpia en una carpeta anomenada directori.

  6. Backup de forma remota
    sudo duplicity /home/inclusa sftp://inclusa@192.168.1.200/backup/2018/
    
  7. Forzando una còpia remota cada més
    sudo duplicity --full-if-older-than 1M /home/inclusa sftp://inclusa@192.168.1.200/backup/2018/
    

    On 1M indica el temps que transcorrerà fins tornar a fer la següent còpia.

  8. Restaurant un directori Mail/article que teniem fa 3 dies
    sudo duplicity -t 3D --file-to-restore Mail/article sftp://uid@other.host/some_dir /home/me/restored_file
    
  9. Excloure directoris en el backup
    sudo duplicity --exclude /mnt --exclude /tmp --exclude /proc / file:///usr/local/backup
    
  10. Reorganitzar directoris en un mateix directori
    sudo duplicity --exclude /mnt --exclude /tmp --exclude /proc / file:///usr/local/backup
    
  11. Incloure i excloure directoris en el backup
    sudo duplicity --include /home --include /etc --exclude**’ / file:///usr/local/backup
    

Fonts

Duplicity - Documentation

Duplicity - Examples

Duplicity - Automate backups

Backup bases de dades de Nextcloud