<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: Michael Terry
-->
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0" type="topic" style="task" id="restore-worst-case" xml:lang="it">
<info>
  <desc>Cosa fare se non è possibile ripristinare i file</desc>
  <link type="guide" xref="index#restore"/>
  <credit type="author" its:translate="no">
    <name>Michael Terry</name>
  </credit>
  <license href="http://creativecommons.org/licenses/by-sa/4.0/"><p>Creative Commons Attribution-Share Alike 4.0 Unported License</p></license>

    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Calogero Bonasia</mal:name>
      <mal:email>https://launchpad.net/~0disse0</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Claudio Arseni</mal:name>
      <mal:email>https://launchpad.net/~claudio.arseni</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Francesco</mal:name>
      <mal:email>https://launchpad.net/~ceskobassman</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Francesco</mal:name>
      <mal:email>https://launchpad.net/~fcapano</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Gianmarco Brocchi</mal:name>
      <mal:email>https://launchpad.net/~gimmy</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Ivan Guido Martucci</mal:name>
      <mal:email>https://launchpad.net/~kymya</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>LoReNicolò</mal:name>
      <mal:email>https://launchpad.net/~god121-p-l</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Marco Ciampa</mal:name>
      <mal:email>https://launchpad.net/~ciampix</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>albano</mal:name>
      <mal:email>https://launchpad.net/~albano-battistella</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>enubuntu</mal:name>
      <mal:email>https://launchpad.net/~mr.tennents</mal:email>
      <mal:years/>
    </mal:credit>
  </info>

<title>Quando tutti i tentativi falliscono</title>

<p><app>Déjà Dup</app> may fail.  Maybe it crashes or gives you an error when you try to restore.  When you really need your data back, the last thing you want do deal with is a bug.  Consider filing a <link href="https://gitlab.gnome.org/World/deja-dup/-/issues/new">help request</link> but in the meantime, here are some approaches to workaround a misbehaving <app>Déjà Dup</app> and get your data back.</p>

<note><p>Questa è una parte molto tecnica. Se qualcosa sembra senza senso, è possibile <link xref="support">chiedere aiuto</link>.</p></note>

<steps>
  <item><p>Aprire una finestra di <app>Terminale</app> premendo <keyseq><key>Ctrl</key><key>Alt</key><key>T</key></keyseq>.</p></item>
  <item><p>Creare la directory nella quale verranno posizionati i file ripristinati. Questa guida userà <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Ripristino con Duplicity</title>

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

<note style="advanced"><p>Per maggiori informazioni su <app>duplicity</app> non presenti in questa guida, eseguire il comando <cmd>man duplicity</cmd>.</p></note>

<p>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 <file its:translate="no">/media/backup</file>  e si scelga di eseguire un backup cifrato, provare:</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

<p>Se non si vuole cifrare il backup, aggiungere <cmd its:translate="no">--no-encryption</cmd> al comando.</p>

<section id="locations">
<title>Altre posizioni di backup</title>
<p>Se è stato eseguito un backup su un server remoto o cloud, la sintassi da utilizzare con <app>duplicity</app> 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.</p>
<note><p>Ricordare di aggiungere <cmd its:translate="no">--no-encryption</cmd> a ogni comando di esempio se il backup non è cifrato.</p></note>
<p>Se <app>duplicity</app> ha problemi con la connessione al server, provare a scaricare tutti i file <app>duplicity</app> manualmente in una cartella locale e seguire il semplice esempio seguente.</p>
<terms>
  <item>
    <title>FTP</title>
    <p>Cercare indirizzo, porta, nome utente e password di accesso al server e sostituire le istanze di <var>SERVER</var>, <var>PORTA</var>, <var>NOME_UTENTE</var> e <var>PASSWORD</var> nel seguente esempio con quei valori.</p>
    <p>È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di <var>CARTELLA</var> con quel percorso.</p>
    <p>Se si sceglie di non effettuare l'accesso con un nome utente, usare nel seguente esempio <var its:translate="no">anonymous</var> come <var>NOME_UTENTE</var></p>
    <screen its:translate="no">
gvfs-mount ftp://<var its:translate="yes">NOME_UTENTE</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORTA</var>/<var its:translate="yes">CARTELLA</var>
duplicity --gio ftp://<var its:translate="yes">NOME_UTENTE</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORTA</var>/<var its:translate="yes">CARTELLA</var> /tmp/restore</screen>
  </item>
  <item>
    <title>SSH</title>
    <p>Cercare indirizzo, porta, nome utente e password di accesso al server e sostituire le istanze di <var>SERVER</var>, <var>PORTA</var>, <var>NOME_UTENTE</var> e <var>PASSWORD</var> nel seguente esempio con quei valori.</p>
    <p>È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di <var>CARTELLA</var> con quel percorso.</p>
    <screen its:translate="no">
gvfs-mount ssh://<var its:translate="yes">NOME_UTENTE</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORTA</var>/<var its:translate="yes">CARTELLA</var>
duplicity --gio ssh://<var its:translate="yes">NOME_UTENTE</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORTA</var>/<var its:translate="yes">CARTELLA</var> /tmp/restore</screen>
  </item>
  <item>
    <title>WebDAV</title>
    <p>Cercare indirizzo, porta, nome utente e password di accesso al server e sostituire le istanze di <var>SERVER</var>, <var>PORTA</var>, <var>NOME_UTENTE</var> e <var>PASSWORD</var> nel seguente esempio con quei valori.</p>
    <p>È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di <var>CARTELLA</var> con quel percorso.</p>
    <p>Se si sceglie di usare una connessione sicura (HTTPS) per il backup, usare nell'esempio seguente <var its:translate="no">davs://</var> al posto di <var its:translate="no">dav://</var>.</p>
    <screen its:translate="no">
gvfs-mount dav://<var its:translate="yes">NOME_UTENTE</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORTA</var>/<var its:translate="yes">CARTELLA</var>
duplicity --gio dav://<var its:translate="yes">NOME_UTENTE</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORTA</var>/<var its:translate="yes">CARTELLA</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Condivisione Windows</title>
    <p>Cercare indirizzo, nome utente e password di accesso al server e sostituire le istanze di <var>SERVER</var>, <var>NOME_UTENTE</var> e <var>PASSWORD</var> nel seguente esempio con quei valori.</p>
    <p>È possibile specificare un cartella in cui collocare i file di backup. Nell'esempio seguente, sostituire ogni istanza di <var>CARTELLA</var> con quel percorso.</p>
    <p>Se si specifica un dominio per il proprio server Windows, aggiungerlo all'inizio di <var>NOME_UTENTE</var> con un punto e virgola tra loro. Per esempio <var>dominio;nome_utente</var>.</p>
    <screen its:translate="no">
gvfs-mount smb://<var its:translate="yes">NOME_UTENTE</var>@<var its:translate="yes">SERVER</var>/<var its:translate="yes">CARTELLA</var>
duplicity --gio smb://<var its:translate="yes">NOME_UTENTE</var>@<var its:translate="yes">SERVER</var>/<var its:translate="yes">CARTELLA</var> /tmp/restore</screen>
  </item>
</terms>
</section>

</section>

<section id="by-hand">
<title>Ripristino manuale</title>

<p>Se anche <app>duplicity</app>non 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.</p>

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

<p><app>Duplicity</app> 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.</p>

<p>Se si hanno backup cifrati, prima si deve decifrare il volume con <cmd its:translate="no">gpg</cmd>. Supponiamo sia presente <file its:translate="no">duplicity-full.20110127T131352Z.vol1.difftar.gpg</file>:</p>
<screen its:translate="no">gpg --output duplicity-full.20110127T131352Z.vol1.difftar --decrypt duplicity-full.20110127T131352Z.vol1.difftar.gpg</screen>

<p>Oppure tutti contemporaneamente (assicurarsi di avere abbastanza spazio.):</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>Ora si ha o un volume <file its:translate="no">.difftar</file> o un volume <file its:translate="no">.difftar.gz</file> (a seconda che fosse da decifrare o meno). Usare <cmd its:translate="no">tar</cmd> su ognuno dei file per estrarre il singolo file patch:</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>O ancora, tutti contemporaneamente:</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p>Ora i file patch saranno nelle cartelle <file its:translate="no">multivolume_snapshot</file> e<file its:translate="no">snapshot</file>. Ogni file che era diviso in più volumi ora sarà in <file its:translate="no">multivolume_snapshot</file>. Supponendo che sia stato eseguito il backup di <file its:translate="no">/home/jane/essay.txt</file>:</p>
<screen its:translate="no">cd multivolume_snapshot/home/jane/essay.txt
cat * &gt; essay.txt</screen>

<p>Per ripristinare i dati dai backup incrementali, usare <cmd its:translate="no">rdiff</cmd> per unire i file insieme. Consultare <cmd its:translate="no">man rdiff</cmd> per l'utilizzo.</p>

</section>

</page>
