Когда всё идёт не так
Déjà Dup может завершиться неудачно. Может случиться, что она падает или выдаёт ошибку, когда вы пытаетесь сделать восстановление. Когда вам действительно нужно вернуть свои данные, ошибка это последнее чего вы хотите. Подумайте над составлением запроса о помощи, но пока он обрабатывается, вот несколько подходов, чтобы обойти неправильное поведение Déjà Dup и вернуть ваши данные.
Это технические сведения. Если всё описанное не имеет для вас смысла, не стесняйтесь просить о помощи.
В этих инструкциях предполагается, что у вас есть доступ к командной строке. Сначала откройте окно приложения Терминал.
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 хранит данные маленькими порциями, которые называются томами. Некоторые тома принадлежат периодическим ‘full’ или свежим резервным копиям, а другие принадлежат ‘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 на любом из них, чтобы извлечь отдельные файлы исправлений:
tar xf duplicity-full.20110127T131352Z.vol1.difftarИли, снова, чтобы обработать все сразу:
for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; doneТеперь файлы исправлений будут находиться в папках multivolume_snapshot и snapshot. Каждый файл, занимающий несколько томов, будет находиться в папке multivolume_snapshot. Допустим, вы создали резервную копию /home/jane/essay.txt:
cd multivolume_snapshot/home/jane/essay.txt
cat * > essay.txtЧтобы восстановить данные из инкрементных резервных копий, используйте rdiff (чтобы собрать файлы воедино). Смотрите man rdiff для подробных инструкций.