Co zrobić, jeśli nie można przywrócić plików
Michael Terry

Creative Commons Attribution-Share Alike 4.0 Unported

Piotr Drąg
piotrdrag@gmail.com 2017-2023
Aviary.pl
community-poland@mozilla.org 2023

# Kiedy wszystko idzie źle

Déjà Dup może nie zadziałać poprawnie. Być może ulega awarii lub informuje o problemie podczas przywracania. Błąd to ostatnia rzecz, jaką chcesz się zajmować, kiedy potrzebujesz swoich danych. Prosimy o zgłoszenie go, ale w międzyczasie można skorzystać z kilku sposobów obejścia niewłaściwego działania programu Déjà Dup i przywrócenia danych.

To będzie wymagało wiedzy technicznej. Jeśli nic z tego nie ma dla Ciebie sensu, nie bój się poprosić o pomoc.

These instructions assume you have a command line available. Open a Terminal window first.

# Restic or Duplicity?

Over time, Déjà Dup has used different backup tools under the covers. Originally, it used Duplicity. Nowadays, it uses Restic.

Your backup might be in either format, depending on when you created it.

Look in the folder where your backup is kept:

If the filenames all start with duplicity-, then it's a Duplicity backup. Read the Duplicity sections below.

If you see a config file and a few folders like keys, then it's a Restic backup. Read the Restic sections below.

# Restoring with Restic

On the assumption that Déjà Dup is just not working for you right now, let’s use the command line tool Restic that is used by Déjà Dup behind the scenes to back up and restore your files.

If you want more information about Restic than presented here, run restic --help.

Najpierw spróbujemy po prostu przywrócić wszystkie dane. Jeśli pliki są na zewnętrznym dysku zamontowanym jako /media/backup i zostały zaszyfrowane, wykonaj:

    restic restore --repo=/media/backup --target=/tmp/restore latest

Jeśli kopia zapasowa nie jest zaszyfrowana, dodaj --insecure-no-password do polecenia.

If you need to do more advanced debugging, read their troubleshooting guide.

# Przywracanie za pomocą programu Duplicity

On the assumption that Déjà Dup is just not working for you right now, let’s use the command line tool duplicity that is used by Déjà Dup behind the scenes to back up and restore your files.

If you want more information about Duplicity than presented here, read its online documentation.

Najpierw spróbujemy po prostu przywrócić wszystkie dane. Jeśli pliki są na zewnętrznym dysku zamontowanym jako /media/backup i zostały zaszyfrowane, wykonaj:

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

Jeśli kopia zapasowa nie jest zaszyfrowana, dodaj --no-encryption do polecenia.

## Other Storage Locations

If you backed up to a remote or cloud server, the syntax you use with Duplicity will be different than the external drive example above.

Read the Duplicity documentation for instructions on how to connect to your server, or try downloading all the Duplicity files yourself to a local folder and following the simpler example above.

## Restoring Duplicity Files by Hand

Jeśli nawet duplicity nie pomaga, to nie należy się poddawać. Format plików kopii zapasowej jest skomplikowany i niełatwy w modyfikacji, ale w trudnej sytuacji warto spróbować.

Jeśli kopia zapasowa jest na zdalnym serwerze lub w chmurze, to najpierw pobierz wszystkie pliki duplicity i umieść je w katalogu na komputerze. Następnie przejdź do tego katalogu w terminalu.

Duplicity przechowuje dane w małych fragmentach, zwanych woluminami. Niektóre woluminy należą do okresowych pełnych kopii zapasowych, a inne do kopii przyrostowych. Zaczynając od zestawu woluminów pełnej kopii zapasowej na 1. woluminie, będzie trzeba przywracać pliki wolumin po woluminie.

Jeśli kopia zapasowa jest zaszyfrowana, najpierw należy odszyfrować wolumin za pomocą polecenia gpg. Jeśli nazywa się on duplicity-full.20110127T131352Z.vol1.difftar.gpg:

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

Albo zrób wszystko naraz (upewnij się, że jest wystarczająco miejsca!):

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

Wynikiem jest wolumin .difftar lub .difftar.gz (w zależności od tego, czy musiał zostać odszyfrowany). Wykonaj polecenie tar na woluminie, aby wypakować poszczególne pliki łat:

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

Albo znowu zrób wszystko naraz:

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

Pliki łat będą w katalogach multivolume_snapshot i snapshot. Wszystkie pliki rozciągnięte na kilka woluminów będą w multivolume_snapshot. Jeśli plik w kopii zapasowej nazywa się /home/jane/essay.txt:

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

Aby przywrócić dane z kopii przyrostowej, wykonaj polecenie rdiff w celu połączenia plików w całość. man rdiff zawiera więcej informacji o tym poleceniu.