Que faire si vous ne pouvez pas restaurer vos fichiers ?

# Lorsque tout va mal

Déjà Dup 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 rapport de bogue mais en attendant, voici quelques pistes pour contourner un mauvais comportement de Déjà Dup et récupérer vos données.

Cela va commencer à devenir technique. Si rien de tout cela n'a de sens pour vous, n’hésitez pas à demander de l'aide.

Ouvrez un Terminal en appuyant sur CtrlAltT.

Créez le dossier dans lequel vous placerez vos fichiers restaurés. Ce guide utilisera /tmp/restore:

    mkdir -p /tmp/restore

# Restauration avec Duplicity

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

Si vous désirez obtenir plus d'informations à propos de duplicity que celles proposées ici, lancez man duplicity.

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 /media/backup et que vous avez choisi de chiffrer la sauvegarde, essayez ceci :

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

Si vous n'avez pas chiffré la sauvegarde, ajoutez --no-encryption à la commande.

## Autres emplacements de sauvegarde

Si vous avez sauvegardé vos données sur un serveur distant ou dématérialisé, la syntaxe que vous devez utiliser avec duplicity 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.

N'oubliez pas d'ajouter --no-encryption à toutes les commandes si votre sauvegarde n'est pas chiffrée.

Si duplicity présente des problèmes pour se connecter à votre serveur, essayez de télécharger tous les fichiers duplicity vous-même dans un répertoire local et suivez l'exemple simple présenté au-dessus.

### Amazon S3

Recherchez votre clé d'identification Amazon S3 et votre clé secrète puis remplacer les instances de ID et SECRET dans l'exemple ci-dessous avec les valeurs respectives.

Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de FOLDER avec ce chemin.

    export AWS_ACCESS_KEY_ID=ID
    export AWS_SECRET_ACCESS_KEY=SECRET
    duplicity s3+http://deja-dup-auto-LOWERCASE_ID/FOLDER /tmp/restore

### Rackspace Cloud Files

Cherchez votre identifiant Rackspace et votre clef d'API et remplacez les valeurs de NOMUTILISATEUR et CLEF dans les exemples ci-dessous avec leurs valeurs respectives.

Vous avez pu spécifier un conteneur dans lequel placer vos fichiers de sauvegarde. Dans l'exemple ci-dessous, remplacez chaque instance de CONTAINER avec ce nom.

    export CLOUDFILES_USERNAME=NOMUTILISATEUR
    export CLOUDFILES_APIKEY=CLEF
    duplicity cf+http://CONTENEUR /tmp/restore

### FTP

Cherchez l'adresse, le port, l'identifiant et le mot de passe de votre serveur et remplacez les valeurs de SERVEUR, PORT, NOMUTILISATEUR et MOTDEPASSE dans l'exemple ci-dessous avec leurs valeurs respectives.

Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de FOLDER avec ce chemin.

Si vous avez choisi de ne pas vous connecter avec un identifiant, utilisez anonymous en tant que NOMUTILISATEUR ci-dessous.

    gvfs-mount ftp://NOMUTILISATEUR@SERVEUR:PORT/FOLDER
    duplicity --gio ftp://NOMUTILISATEUR@SERVEUR:PORT/FOLDER /tmp/restore

### SSH

Cherchez l'adresse, le port, l'identifiant et le mot de passe de votre serveur et remplacez les valeurs de SERVEUR, PORT, NOMUTILISATEUR et MOTDEPASSE dans l'exemple ci-dessous avec leurs valeurs respectives.

Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de FOLDER avec ce chemin.

    gvfs-mount ssh://NOMUTILISATEUR@SERVEUR:PORT/FOLDER
    duplicity --gio ssh://NOMUTILISATEUR@SERVEUR:PORT/FOLDER /tmp/restore

### WebDAV

Cherchez l'adresse, le port, l'identifiant et le mot de passe de votre serveur et remplacez les valeurs de SERVEUR, PORT, NOMUTILISATEUR et MOTDEPASSE dans l'exemple ci-dessous avec leurs valeurs respectives.

Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de FOLDER avec ce chemin.

Si vous avez choisi d'utiliser une connexion sécurisée (HTTPS) lors de la sauvegarde, utilisez davs:// au lieu de dav:// dans l'exemple ci-dessous.

    gvfs-mount dav://NOMUTILISATEUR@SERVEUR:PORT/FOLDER
    duplicity --gio dav://NOMUTILISATEUR@SERVEUR:PORT/FOLDER /tmp/restore

### Partage Windows

Cherchez l'adresse, l'identifiant et le mot de passe de votre serveur et remplacez les valeurs de SERVEUR, NOMUTILISATEUR et MOTDEPASSE dans l'exemple ci-dessous avec leurs valeurs respectives.

Vous pouvez spécifier un répertoire dans lequel placer vos fichiers restaurés. Dans l'exemple ci-dessous, remplacer toutes les instances de FOLDER avec ce chemin.

Si vous aviez spécifié un domaine pour votre serveur Windows, ajoutez le au début de NOMUTILISATEUR en les séparant par un point virgule. Par exemple, domaine;nomutilisateur.

    gvfs-mount smb://NOMUTILISATEUR@SERVEUR/FOLDER
    duplicity --gio smb://NOMUTILISATEUR@SERVEUR/FOLDER /tmp/restore

# Restauration manuelle

Si même duplicity 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.

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 duplicity et placez-les dans un répertoire sur votre ordinateur. Ensuite ouvrez ce répertoire dans votre terminal.

Duplicity 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.

Si vous avez chiffré votre sauvegarde, vous devez d'abord déchiffrer le volume avec gpg. Disons que vous avez duplicity-full.20110127T131352Z.vol1.difftar.gpg :

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

Ou faire tout à la fois (assurez-vous d'avoir suffisamment d'espace disque !) :

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

Maintenant, vous avez soit un .difftar ou un volume .difftar.gz (selon que vous avez eu à le déchiffrer ou non). Utilisez tar selon celui que vous devez extraire les fichiers correctifs individuels :

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

Ou encore, de faire tout à la fois :

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

Maintenant les fichiers corrigés seront dans les dossiers multivolume_snapshot et snapshot. Chaque fichier qui s'étend sur plusieurs volumes sera dans multivolume_snapshot. Supposons que vous avez sauvegardé /home/jane/essay.txt :

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

Pour récupérer les données des sauvegardes incrémentielles, utilisez rdiff pour assembler les fichiers entre-eux. Voir man rdiff pour l'utilisation.