# Duplicity tips

Serve per fare backup totali e/o incrementali criptati con gpg. Supporta diversi backend tra cui dirs locali/mega/sftp/dropbox e antani.

## Encryption
Non è obbligatoria ma in caso di cloud o dati sensibili è fortemente consigliata. Se si vuole sfruttare questa fnzionalità di Duplicity serve prima generare una chiave gpg. In questi tips si suppone che la chiave gpg generata abbia id: **9D8CF160**

## Mega as backend
[out of date] Serve installare Mega.py:
```
da root
cd /tmp
git clone https://github.com/ckornacker/mega.py
cd mega.py
python2.7 setup.py build
python2.7 setup.py install
```

## Esempi
Fonte:  https://blog.keliweb.it/2013/10/backup-ssh-debianubuntu-ambiente-cloud-duplicity/

### Bakup 
Per il totale:
```
duplicity full --encrypt-key="9D8CF160" /tmp/bkuptest mega://incandenza%40autistici.org@mega.co.nz/backup
```
Per l'incrementale:
```
duplicity incr --encrypt-key="9D8CF160" /tmp/bkuptest mega://incandenza%40autistici.org@mega.co.nz/backup
```

Backup su disco locale __senza encryption__:
```
duplicity full --no-encryption  /mnt/moooseca/AUDIO/ file:///home/incandenza/Musica/bkup/
```
```
duplicity incr --no-encryption  /mnt/moooseca/AUDIO/ file:///home/incandenza/Musica/bkup/
```



### Restore
Per listare o restorare backup serve usare gpg-agent di modo che quando richiesto sia in grado di intercettare la richiesta della password di protezione della chiave privata pgp.
Iprima di restorare o lista eseguire
```
eval $(gpg-agent --daemon)
  ```

Ovviamete ciò vale solo se il backup è cifrato.

Per la lista di files:
```
duplicity  list-current-files -ve -t3D --use-agent --encrypt-key="9D8CF160" mega://incandenza%40autistici.org@mega.co.nz/backup
```
_Versione locale senza cifratura_:
```
duplicity  list-current-files -ve -t3D --use-agent --no-encryption file:///home/incandenza/Musica/bkup/
```

Per restore:
```
duplicity  restore -vi -t3D --use-agent --encrypt-key="9D8CF160" --allow-source-mismatch  mega://incandenza%40autistici.org@mega.co.nz/backup /tmp/restore
```
_Versione locale senza cifratura_:

```
duplicity  restore -vi -t3D --no-encryption --allow-source-mismatch   file:///home/incandenza/Musica/bkup/ /tmp/restore
```

L'operazione di _restore_ esegue un chown per ogni singolo file ripristinato. Se si esegue il restore da utente normale ovviamente questa operazione generareà un errore:
```
Error '[Errno 1] Operation not permitted: '
```
Il ripristino va comunque solo che se si volessero preservare tutte le proprietà originaire dei file, tra cui la ownership, occorre eseguire il tutto come root.




