Cosa fare se non è possibile ripristinare i file

# Quando tutti i tentativi falliscono

Déjà Dup può non funzionare. Potrebbe bloccarsi o restituire degli errori durante il tentativo di ripristino. Quando è indispensabile recuperare i dati contenuti nei backup, l'ultima cosa che che si vorrebbe è di trovarsi davanti a un bug. Considerare l'ipotesi di segnalare il bug, ma nel frattempo ecco alcuni modi per aggirare i comportamenti anomali di Déjà Dup e riottenete i propri dati.

Questa è una parte molto tecnica. Se qualcosa sembra senza senso, è possibile chiedere aiuto.

Aprire una finestra di Terminale premendo CtrlAltT.

Creare la directory nella quale verranno posizionati i file ripristinati. Questa guida userà /tmp/restore:

    mkdir -p /tmp/restore

# Ripristino con Duplicity

Partendo dal presupposto che Déjà Dup non sta funzionando correttamente, sarà necessario utilizzare lo strumento a riga di comando duplicity che viene utilizzato da Déjà Dup per eseguire i backup e ripristinare i dati.

Per maggiori informazioni su duplicity non presenti in questa guida, eseguire il comando man duplicity.

La prima cosa che si tenterà di fare sarà di ripristinare tutti i dati. Presupponendo che i file siano su un dispositivo esterno montato come /media/backup e si scelga di eseguire un backup cifrato, provare:

    duplicity --gio file:///media/backup /tmp/restore

Se non si vuole cifrare il backup, aggiungere --no-encryption al comando.

## Altre posizioni di backup

Se è stato eseguito un backup su un server remoto o cloud, la sintassi da utilizzare con duplicity sarà diversa da quella descritta sopra utilizzata per un dispositivo esterno. Seguire le indicazioni riportate di seguito per sapere come connettersi alla posizione di backup scelta.

Ricordare di aggiungere --no-encryption a ogni comando di esempio se il backup non è cifrato.

Se duplicity ha problemi con la connessione al server, provare a scaricare tutti i file duplicity manualmente in una cartella locale e seguire il semplice esempio seguente.

### Amazon S3

Cercare la chiave ID e la chiave segreta di accesso per Amazon S3 e sostituire le istanze di ID e SEGRETO nel seguente esempio con quei valori.

È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di CARTELLA con quel percorso.

    export AWS_ACCESS_KEY_ID=ID
    export AWS_SECRET_ACCESS_KEY=SEGRETO
    duplicity s3+http://deja-dup-auto-E/CARTELLA /tmp/restore

### Cloud Files di Rackspace

Cercare in nome utente e la chiave API di accesso per Rackspace e sostituire le istanze di NOME_UTENTE e CHIAVE nel seguente esempio con quei valori.

È possibile specificare un container in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di CONTAINER con quel nome.

    export CLOUDFILES_USERNAME=NOME_UTENTE
    export CLOUDFILES_APIKEY=CHIAVE
    duplicity cf+http://CONTAINER /tmp/restore

### FTP

Cercare indirizzo, porta, nome utente e password di accesso al server e sostituire le istanze di SERVER, PORTA, NOME_UTENTE e PASSWORD nel seguente esempio con quei valori.

È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di CARTELLA con quel percorso.

Se si sceglie di non effettuare l'accesso con un nome utente, usare nel seguente esempio anonymous come NOME_UTENTE

    gvfs-mount ftp://NOME_UTENTE@SERVER:PORTA/CARTELLA
    duplicity --gio ftp://NOME_UTENTE@SERVER:PORTA/CARTELLA /tmp/restore

### SSH

Cercare indirizzo, porta, nome utente e password di accesso al server e sostituire le istanze di SERVER, PORTA, NOME_UTENTE e PASSWORD nel seguente esempio con quei valori.

È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di CARTELLA con quel percorso.

    gvfs-mount ssh://NOME_UTENTE@SERVER:PORTA/CARTELLA
    duplicity --gio ssh://NOME_UTENTE@SERVER:PORTA/CARTELLA /tmp/restore

### WebDAV

Cercare indirizzo, porta, nome utente e password di accesso al server e sostituire le istanze di SERVER, PORTA, NOME_UTENTE e PASSWORD nel seguente esempio con quei valori.

È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di CARTELLA con quel percorso.

Se si sceglie di usare una connessione sicura (HTTPS) per il backup, usare nell'esempio seguente davs:// al posto di dav://.

    gvfs-mount dav://NOME_UTENTE@SERVER:PORTA/CARTELLA
    duplicity --gio dav://NOME_UTENTE@SERVER:PORTA/CARTELLA /tmp/restore

### Condivisione Windows

Cercare indirizzo, nome utente e password di accesso al server e sostituire le istanze di SERVER, NOME_UTENTE e PASSWORD nel seguente esempio con quei valori.

È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di CARTELLA con quel percorso.

Se si specifica un dominio per il proprio server Windows, aggiungerlo all'inizio di NOME_UTENTE con un punto e virgola tra loro. Per esempio dominio;nome_utente.

    gvfs-mount smb://NOME_UTENTE@SERVER/CARTELLA
    duplicity --gio smb://NOME_UTENTE@SERVER/CARTELLA /tmp/restore

# Ripristino manuale

Se anche duplicitynon sta funzionando correttamente, ci può essere poca speranza. Il formato del file di backup è complesso e non è semplice manipolarlo. Ma se non si può fare a meno di recuperare i dati, vale la pena provare.

Se si utilizza un server remoto o cloud per archiviare i backup, prima di tutto scaricare tutti i file duplicity e posizionarli in una cartella sul proprio computer. Quindi accedere alla cartella utilizzando un terminale.

Duplicity archivia i dati in piccole parti chiamate volumi. Alcuni volumi fanno parte di backup completi o del primo backup eseguito, altri fanno parte dei backup incrementali. Partendo dal primo dei volumi di un backup completo, sarà necessario ripristinare i file un volume per volta.

Se si hanno backup cifrati, prima si deve decifrare il volume con gpg. Supponiamo sia presente duplicity-full.20110127T131352Z.vol1.difftar.gpg:

    gpg --output duplicity-full.20110127T131352Z.vol1.difftar --decrypt duplicity-full.20110127T131352Z.vol1.difftar.gpg

Oppure tutti contemporaneamente (assicurarsi di avere abbastanza spazio.):

    gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg

Ora si ha o un volume .difftar o un volume .difftar.gz (a seconda che fosse da decifrare o meno). Usare tar su ognuno dei file per estrarre il singolo file patch:

    tar xf duplicity-full.20110127T131352Z.vol1.difftar

O ancora, tutti contemporaneamente:

    for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done

Ora i file patch saranno nelle cartelle multivolume_snapshot esnapshot. Ogni file che era diviso in più volumi ora sarà in multivolume_snapshot. Supponendo che sia stato eseguito il backup di /home/jane/essay.txt:

    cd multivolume_snapshot/home/jane/essay.txt
    cat * > essay.txt

Per ripristinare i dati dai backup incrementali, usare rdiff per unire i file insieme. Consultare man rdiff per l'utilizzo.