<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" its:version="1.0" type="topic" style="task" id="restore-worst-case" xml:lang="fr">
<info>
  <desc>Que faire si vous ne pouvez pas restaurer vos fichiers  ?</desc>
  <link type="guide" xref="index#restore"/>
</info>

<title>Lorsque tout va mal</title>

<p><app>Déjà Dup</app> peut échouer. Il peut se bloquer ou indiquer une erreur lorsque vous essayez de restaurer une sauvegarde. Lorsque vous avez vraiment besoin de vos données sauvegardées, la dernière chose à laquelle vous avez envie de faire face est un bug. Envisagez de déposer un <link href="https://launchpad.net/deja-dup/+filebug">rapport de bogue</link> mais en attendant, voici quelques pistes pour contourner un mauvais comportement de <app>Déjà Dup</app> et récupérer vos données.</p>

<note><p>Cela va commencer à devenir technique. Si rien de tout cela n'a de sens pour vous, n’hésitez pas à <link xref="support">demander de l'aide</link>.</p></note>

<steps>
  <item><p>Ouvrez un <app>Terminal</app> en appuyant sur <keyseq><key>Ctrl</key><key>Alt</key><key>T</key></keyseq>.</p></item>
  <item><p>Créez le dossier dans lequel vous placerez vos fichiers restaurés. Ce guide utilisera <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Restauration avec Duplicity</title>

<p>Dans l'hypothèse où <app>Déjà Dup</app> ne fonctionne pas immédiatement, vous pouvez utiliser l'outil en ligne de commandes <app>duplicity</app> qui est utilisé par le moteur de <app>Déjà Dup</app> pour sauver et restaurer vos fichiers.</p>

<note style="advanced"><p>Si vous désirez obtenir plus d'informations à propos de <app>duplicity</app> que celles proposées ici, lancez <cmd>man duplicity</cmd>.</p></note>

<p>La première chose que nous allons essayer est une restauration simple de toutes vos données. En supposant que vos fichiers sont sur ​​un disque externe monté comme <file its:translate="no">/media/backup</file> et que vous avez choisi de chiffrer la sauvegarde, essayez ceci :</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

<p>Si vous n'avez pas chiffré la sauvegarde, ajoutez <cmd its:translate="no">--no-encryption</cmd> à la commande.</p>

<section id="locations">
<title>Autres emplacements de sauvegarde</title>
<p>Si vous avez sauvegardé vos données sur un serveur distant ou dématérialisé, la syntaxe que vous devez utiliser avec <app>duplicity</app> sera différente que celle utilisée dans l'exemple au-dessus pour un support externe. Regardez ci-dessous comment se connecter à votre emplacement de sauvegarde.</p>
<note><p>N'oubliez pas d'ajouter <cmd its:translate="no">--no-encryption</cmd> à toutes les commandes si votre sauvegarde n'est pas chiffrée.</p></note>
<p>Si <app>duplicity</app> présente des problèmes pour se connecter à votre serveur, essayez de télécharger tous les fichiers <app>duplicity</app> vous-même dans un répertoire local et suivez l'exemple simple présenté au-dessus.</p>
<terms>
  <item>
    <title>Amazon S3</title>
    <p>Recherchez votre clé d'identification Amazon S3 et votre clé secrète puis remplacer les instances de <var>ID</var> et <var>SECRET</var> dans l'exemple ci-dessous avec les valeurs respectives.</p>
    <p>Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de <var>FOLDER</var> avec ce chemin.</p>
    <screen its:translate="no">
export AWS_ACCESS_KEY_ID=<var its:translate="yes">ID</var>
export AWS_SECRET_ACCESS_KEY=<var its:translate="yes">SECRET</var>
duplicity s3+http://deja-dup-auto-<var its:translate="yes">LOWERCASE_ID</var>/<var its:translate="yes">FOLDER</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Rackspace Cloud Files</title>
    <p>Cherchez votre identifiant Rackspace et votre clef d'API et remplacez les valeurs de <var>NOMUTILISATEUR</var> et <var>CLEF</var> dans les exemples ci-dessous avec leurs valeurs respectives.</p>
    <p>Vous avez pu spécifier un conteneur dans lequel placer vos fichiers de sauvegarde. Dans l'exemple ci-dessous, remplacez chaque instance de <var>CONTAINER</var> avec ce nom.</p>
    <screen its:translate="no">
export CLOUDFILES_USERNAME=<var its:translate="yes">NOMUTILISATEUR</var>
export CLOUDFILES_APIKEY=<var its:translate="yes">CLEF</var>
duplicity cf+http://<var its:translate="yes">CONTENEUR</var> /tmp/restore</screen>
  </item>
  <item>
    <title>FTP</title>
    <p>Cherchez l'adresse, le port, l'identifiant et le mot de passe de votre serveur et remplacez les valeurs de <var>SERVEUR</var>, <var>PORT</var>, <var>NOMUTILISATEUR</var> et <var>MOTDEPASSE</var> dans l'exemple ci-dessous avec leurs valeurs respectives.</p>
    <p>Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de <var>FOLDER</var> avec ce chemin.</p>
    <p>Si vous avez choisi de ne pas vous connecter avec un identifiant, utilisez <var its:translate="no">anonymous</var> en tant que <var>NOMUTILISATEUR</var> ci-dessous.</p>
    <screen its:translate="no">
gvfs-mount ftp://<var its:translate="yes">NOMUTILISATEUR</var>@<var its:translate="yes">SERVEUR</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">FOLDER</var>
duplicity --gio ftp://<var its:translate="yes">NOMUTILISATEUR</var>@<var its:translate="yes">SERVEUR</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">FOLDER</var> /tmp/restore</screen>
  </item>
  <item>
    <title>SSH</title>
    <p>Cherchez l'adresse, le port, l'identifiant et le mot de passe de votre serveur et remplacez les valeurs de <var>SERVEUR</var>, <var>PORT</var>, <var>NOMUTILISATEUR</var> et <var>MOTDEPASSE</var> dans l'exemple ci-dessous avec leurs valeurs respectives.</p>
    <p>Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de <var>FOLDER</var> avec ce chemin.</p>
    <screen its:translate="no">
gvfs-mount ssh://<var its:translate="yes">NOMUTILISATEUR</var>@<var its:translate="yes">SERVEUR</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">FOLDER</var>
duplicity --gio ssh://<var its:translate="yes">NOMUTILISATEUR</var>@<var its:translate="yes">SERVEUR</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">FOLDER</var> /tmp/restore</screen>
  </item>
  <item>
    <title>WebDAV</title>
    <p>Cherchez l'adresse, le port, l'identifiant et le mot de passe de votre serveur et remplacez les valeurs de <var>SERVEUR</var>, <var>PORT</var>, <var>NOMUTILISATEUR</var> et <var>MOTDEPASSE</var> dans l'exemple ci-dessous avec leurs valeurs respectives.</p>
    <p>Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de <var>FOLDER</var> avec ce chemin.</p>
    <p>Si vous avez choisi d'utiliser une connexion sécurisée (HTTPS) lors de la sauvegarde, utilisez <var its:translate="no">davs://</var> au lieu de <var its:translate="no">dav://</var> dans l'exemple ci-dessous.</p>
    <screen its:translate="no">
gvfs-mount dav://<var its:translate="yes">NOMUTILISATEUR</var>@<var its:translate="yes">SERVEUR</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">FOLDER</var>
duplicity --gio dav://<var its:translate="yes">NOMUTILISATEUR</var>@<var its:translate="yes">SERVEUR</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">FOLDER</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Partage Windows</title>
    <p>Cherchez l'adresse, l'identifiant et le mot de passe de votre serveur et remplacez les valeurs de <var>SERVEUR</var>, <var>NOMUTILISATEUR</var> et <var>MOTDEPASSE</var> dans l'exemple ci-dessous avec leurs valeurs respectives.</p>
    <p>Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de <var>FOLDER</var> avec ce chemin.</p>
    <p>Si vous aviez spécifié un domaine pour votre serveur Windows, ajoutez le au début de <var>NOMUTILISATEUR</var> en les séparant par un point virgule. Par exemple, <var>domaine;nomutilisateur</var>.</p>
    <screen its:translate="no">
gvfs-mount smb://<var its:translate="yes">NOMUTILISATEUR</var>@<var its:translate="yes">SERVEUR</var>/<var its:translate="yes">FOLDER</var>
duplicity --gio smb://<var its:translate="yes">NOMUTILISATEUR</var>@<var its:translate="yes">SERVEUR</var>/<var its:translate="yes">FOLDER</var> /tmp/restore</screen>
  </item>
</terms>
</section>

</section>

<section id="by-hand">
<title>Restauration manuelle</title>

<p>Si même <app>duplicity</app> ne fonctionne pas pour vous, il peut y avoir un petit espoir. Le format de fichier de sauvegarde est complexe et délicat à manipuler. Mais si vous êtes désespéré, cela vaut la peine d'essayer.</p>

<p>Si vous avez utilisé un serveur distant ou dématérialisé (dans le cloud) pour stocker vos sauvegardes, commencez par télécharger tous les fichiers <app>duplicity</app> et placez-les dans un répertoire sur votre ordinateur. Ensuite ouvrez ce répertoire dans votre terminal.</p>

<p><app>Duplicity</app> stocke vos données en petits morceaux appelés volumes. Certains volumes appartiennent aux sauvegardes périodiques « complètes » ou sauvegardes récentes et d'autres aux « inc » ou sauvegardes incrémentales. En partant du premier volume d'une sauvegarde complète, vous devrez restaurer chaque volume l'un après l'autre.</p>

<p>Si vous avez chiffré votre sauvegarde, vous devez d'abord déchiffrer le volume avec <cmd its:translate="no">gpg</cmd>. Disons que vous avez <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>Ou faire tout à la fois (assurez-vous d'avoir suffisamment d'espace disque !) :</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>Maintenant, vous avez soit un <file its:translate="no">.difftar</file> ou un volume <file its:translate="no">.difftar.gz</file> (selon que vous avez eu à le déchiffrer ou non). Utilisez <cmd its:translate="no">tar</cmd> selon celui que vous devez extraire les fichiers correctifs individuels :</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>Ou encore, de faire tout à la fois :</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p>Maintenant les fichiers corrigés seront dans les dossiers <file its:translate="no">multivolume_snapshot</file> et <file its:translate="no">snapshot</file>. Chaque fichier qui s'étend sur plusieurs volumes sera dans <file its:translate="no">multivolume_snapshot</file>. Supposons que vous avez sauvegardé <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>Pour récupérer les données des sauvegardes incrémentielles, utilisez <cmd its:translate="no">rdiff</cmd> pour assembler les fichiers entre-eux. Voir <cmd its:translate="no">man rdiff</cmd> pour l'utilisation.</p>

</section>

</page>
