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

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.

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

Тези инструкции предполагат, че разполагате с команден ред. Отворете първо програмата Терминал.

Restic или Duplicity?

С течение на времето Déjà Dup е използвал различни инструменти за архивиране. Първоначално е използвал Duplicity. Тези дни използва Restic.

Резервното копие може да бъде в един от двата формата, в зависимост от това кога сте го създали.

Погледнете в папката, където се съхранява резервното копие:

  • Ако имената на файловете започват с duplicity-, тогава това е резервно копие, създадено с Duplicity. Прочетете разделите за Duplicity по-долу.

  • Ако видите файл config и няколко папки като keys, тогава това е резервно копие на Restic. Прочетете разделите за Restic по-долу.

Възстановяване чрез Restic

Ако предположим, че в момента Déjà Dup Ви създава проблем, ще трябва от командния ред да използвате инструмента Restic, който Déjà Dup използва за работата си зад прозорците, които виждате, при създаването и възстановяването на резервните копия за Вашите файлове.

Ако се нуждаете от повече информация за Restic от предоставената тук, стартирайте restic --help.

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

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

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

Ако се налага да извършите по-задълбочено отстраняване на грешки, прочетете тяхното ръководство за отстраняване на грешки.

Възстановяване чрез Duplicity

Ако предположим, че в момента Déjà Dup Ви създава проблем, ще трябва от командния ред да използвате инструмента duplicity, който Déjà Dup използва за работата си зад прозорците, които виждате, при създаването и възстановяването на резервните копия за Вашите файлове.

Ако се нуждаете от повече информация за Duplicity от предоставената тук, прочетете онлайн документацията.

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

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

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

Други местоположения за съхранение

Ако сте направили резервно копие на отдалечен или облачен сървър, синтаксисът, който използвате с Duplicity, ще бъде различен от примера с външния диск по-горе.

Прочетете документацията на Duplicity за инструкции как да се свържете със сървъра си или опитайте да изтеглите всички файлове на Duplicity в локална папка и следвайте по-простия пример по-горе.

Ръчно възстановяване на файлове на Duplicity

Ако и 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 за начина на употреба.