web-dev-qa-db-fra.com

Comment restaurer manuellement une sauvegarde cassée Deja Dup

Pour diverses raisons (éventuellement ce bug ), une sauvegarde Deja Dup que j'ai faite a échoué. J'ai suivi ce guide pour restaurer ma sauvegarde à la main. Les étapes ont été:

Dans le dossier contenant les sauvegardes, exécutez:

for t in duplicity-full.[yournumbershere].*.difftar.gz; do tar xf $t; done

Cela m'a donné deux dossiers: multivol_snapshot et snapshot. Dans le dossier multivol_snapshot figurent tous mes fichiers mais sont scindés en fichiers plus petits. Je pouvais les rejoindre manuellement en exécutant cat * > file.txt mais cela prendrait beaucoup de temps. La page fournit un script appelé duplicity_join.py qui les associe. Cependant, il ne conserve pas la structure des dossiers et tous les fichiers ou dossiers portant le même nom sont écrasés.

Existe-t-il une méthode disponible pour joindre les fichiers automatiquement qui préserve la structure des dossiers?

4
hellocatfood

Copier la solution de ce guide avec mes modifications:

Ouvrez un terminal et accédez au répertoire contenant vos sauvegardes. Ce dossier contient tous vos fichiers archivés dans de nombreux fichiers .gz. Le mien était dans un dossier appelé multivol_snapshot. Décompressez toutes les archives avec la commande suivante:

for t in duplicity-full.[yournumbershere].*.difftar.gz; do tar xf $t; done

Cela pourrait prendre un moment. J'ai eu 138 Go de données qui ont pris cinq heures pour décompresser.

Cela vous donnera vos fichiers et dossiers dans la structure correcte avec un avertissement: tous les fichiers sont divisés en plus petits morceaux. Vous pouvez facilement rejoindre ces fichiers manuellement en exécutant la commande suivante:

cat * > examplefile.txt

Cependant, si vous avez des milliers de fichiers, cela peut prendre beaucoup de temps. David Huss a écrit un script Python appelé duplicity_joiner.py pour rendre cela plus facile. Téléchargez-le ici .

Pour l'exécuter, vous avez besoin de python et de tk. Installez ceci en lançant:

Sudo apt-get install python-dev Sudo apt-get install python-tk

À l'aide de ce script, vous pouvez sélectionner le dossier dans lequel restaurer vos fichiers, avec une mise en garde: Ce script ne conserve pas la structure de dossiers. Ainsi, si vous avez plusieurs dossiers et fichiers portant le même nom, il est possible qu'ils soient écrasés.

J'ai réécrit le script pour résoudre ce problème. Cela préservera la structure du dossier, mais peut entraîner des chemins de dossier très longs. Téléchargez-le ici .

3
hellocatfood