Какво да направите, ако не можете да възстановите файловете си
Michael Terry

Creative Commons Attribution-Share Alike 4.0 Unported License

Atanas Kovachki
https://launchpad.net/~zdar
Valentin Laskov
https://launchpad.net/~laskov

# Когато всичко завършва зле

Déjà Dup 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 help request but in the meantime, here are some approaches to workaround a misbehaving Déjà Dup and get your data back.

Тук вече е за техничари. Ако не разбирате нищо от това, не се притеснявайте да помолите за помощ.

These instructions assume you are 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.

Първото нещо, което ще опитаме, е обикновено възстановяване на Всичките Ви данни. Предполагайки, че файловете Ви са на външен диск, монтиран като /media/backup и сте избрали криптиране на резервното копие, пробвайте така:

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

Ако не сте криптирали резервното копие, добавете към командата --insecure-no-password .

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

# Възстановяване чрез 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.

Първото нещо, което ще опитаме, е обикновено възстановяване на Всичките Ви данни. Предполагайки, че файловете Ви са на външен диск, монтиран като /media/backup и сте избрали криптиране на резервното копие, пробвайте така:

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

Ако не сте криптирали резервното копие, добавете към командата --no-encryption .

## 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

Ако и duplicity не Ви свърши работа, все още има някаква надежда. Форматът на архивните файлове е сложен и труден за обработка. Но ако сте на прага на отчаянието, струва си да опитате.

Ако сте използвали отдалечен сървър или облачна услуга за съхранение на резервните Ви копия, първо свалете всичките duplicity файлове и ги поставете в папка на Вашия компютър. След това в терминал, влезте в тази папка.

Duplicity записва данните Ви в малки парчета, наречени томове. Някои томове принадлежат към периодичните ‘пълни’ или свежи архиви, а други към ‘inc’ или последващи архиви. Започвайки с пълен комплект от томове архиви с том 1, Вие ще трябва да възстановите файловете том по том.

Ако сте криптирали Вашето резервно копие, първо трябва да декриптирате тома с gpg. Да речем, че имате duplicity-full.20110127T131352Z.vol1.difftar.gpg:

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

Или за да направите всичко наведнъж (убедете се, че имате предостатъчно пространство!):

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

Сега Вие имате или .difftar или .difftar.gz том (в зависимост от това дали трябва да го декриптирате или не). Използвайте tar върху който имате за да извлечете отделните patch файлове:

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

Или отново, за да направите всичко наведнъж:

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

Сега patch файловете ще са в multivolume_snapshot и snapshot папки. Всеки файл, който обхваща няколко тома ще бъде в multivolume_snapshot. Да предположим, че сте архивирали /home/jane/essay.txt:

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

За да възстановите данни от последователни (incremental) архиви, използвайте rdiff да зашиете файловете заедно. Вижте man rdiff за начина на употреба.