Что предпринять, если вы не можете восстановить ваши файлы
Michael Terry

Creative Commons Attribution-Share Alike 4.0 Unported License

Aaz
https://launchpad.net/~aaz2009
Alexander 'FONTER' Zinin
https://launchpad.net/~spore-09
Dmitriy Kulikov
https://launchpad.net/~kulikoff
Eugene Roskin
https://launchpad.net/~lowrider
Mihail Kravsun
https://launchpad.net/~ozzymk
Nikita Putko
https://launchpad.net/~ktototam98
Sergey Basalaev
https://launchpad.net/~sbasalaev
Sergey Sedov
https://launchpad.net/~serg-sedov
diablo
https://launchpad.net/~diablo

# Когда всё идёт не так

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.

Это технические сведения. Если всё описанное не имеет для вас смысла, не стесняйтесь просить о помощи.

Откройте окно Терминала, нажав Ctrl Alt T.

Выберите папку, куда будут помещены файлы восстановления. Это руководство использует /tmp/restore:

    mkdir -p /tmp/restore

# Восстановление с Duplicity

Предположим, что Déjà Dup просто сейчас не работает. Тогда вам нужно использовать утилиту командной строки duplicity, которая используется в Déjà Dup для резервного копирования и восстановления файлов.

Если вы хотите больше информации о duplicity, чем представлено здесь, выполните команду man duplicity.

Для начала мы попробуем сделать простое восстановление всех ваших данных. Предполагая, что все ваши данные находяться на внешнем диске смонтированном как /media/backup и вы использовали шифрование резервных копий, попробуйте сделать это:

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

Если вы не использовали шифрование резервных копий, то добавьте к команде: --no-encryption

## Другое расположение резервной копии

Если вы создавали резервную копию на удалённом или облачном сервере, синтаксис, который нужно использовать в duplicity, будет отличаться от примера с внешним диском выше. Смотрите ниже, как соединиться с выбранным местоположением резервной копии.

Не забывайте добавлять --no-encryption к любому из примеров команд, если резервная копия не зашифрована

Если у duplicity проблемы при соединении с сервером, попробуйте скачать все файлы duplicity самостоятельно в локальную папку и сделать, как в простом примере выше.

### FTP

Найдите необходимый адрес сервера, порт, имя пользователя, и пароль и замените строки СЕРВЕР, ПОРТ, ИМЯ и ПАРОЛЬ в примере ниже на соответствующие значения.

Возможно, вы задавали папку, в которую необходимо помещать резервные копии файлов. В примере ниже замените строку ПУТЬ на этот путь.

If you chose to not log in with a username, use anonymous as your USERNAME below.

    gvfs-mount ftp://ИМЯ ПОЛЬЗОВАТЕЛЯ@SERVER:ПОРТ/ПАПКА
    duplicity --gio ftp://ИМЯ ПОЛЬЗОВАТЕЛЯ@SERVER:ПОРТ/ПАПКА /tmp/restore

### SSH

Найдите необходимый адрес сервера, порт, имя пользователя, и пароль и замените строки СЕРВЕР, ПОРТ, ИМЯ и ПАРОЛЬ в примере ниже на соответствующие значения.

Возможно, вы задавали папку, в которую необходимо помещать резервные копии файлов. В примере ниже замените строку ПУТЬ на этот путь.

    gvfs-mount ssh://ИМЯ ПОЛЬЗОВАТЕЛЯ@SERVER:ПОРТ/ПАПКА
    duplicity --gio ssh://ИМЯ ПОЛЬЗОВАТЕЛЯ@SERVER:ПОРТ/ПАПКА /tmp/restore

### WebDAV

Найдите необходимый адрес сервера, порт, имя пользователя, и пароль и замените строки СЕРВЕР, ПОРТ, ИМЯ и ПАРОЛЬ в примере ниже на соответствующие значения.

Возможно, вы задавали папку, в которую необходимо помещать резервные копии файлов. В примере ниже замените строку ПУТЬ на этот путь.

Если Вы используете защищённое соединение (HTTPS) для резервного копирования, используйте davs:// вместо dav:// в нижеприведённых примерах.

    gvfs-mount dav://ИМЯ ПОЛЬЗОВАТЕЛЯ@SERVER:ПОРТ/ПАПКА
    duplicity --gio dav://ИМЯ ПОЛЬЗОВАТЕЛЯ@SERVER:ПОРТ/ПАПКА /tmp/restore

### общие ресурсы Windows

Найдите ваш адрес сервера, имя пользователя и пароль и замените строки СЕРВЕР, ИМЯ и ПАРОЛЬ в примере ниже на соответствующие значения.

Возможно, вы задавали папку, в которую необходимо помещать резервные копии файлов. В примере ниже замените строку ПУТЬ на этот путь.

Если вы указывали домен для вашего сервера Windows, добавьте его перед ИМЯ, разделяя их точкой с запятой. Например, домен;имя.

    gvfs-mount smb://ИМЯ ПОЛЬЗОВАТЕЛЯ@SERVER/ПАПКА
    duplicity --gio smb://ИМЯ ПОЛЬЗОВАТЕЛЯ@SERVER/ПАПКА /tmp/restore

# Восстановление вручную

Если даже duplicity не работает для вас, всё ещё есть немного надежды. Формат файлов резервных копий сложен и с ним не так легко работать. Но если вы отчаяны, стоит попробовать.

Если вы использовали удалённый или облачный сервер для хранения ваших резервных копий, сначала скачайте все файлы duplicity и поместите их в папку на вашем компьютере. Затем войдите в эту папку из вашего терминала.

Duplicity хранит данные маленькими порциями, которые называются томами. Некоторые тома принадлежат периодическим ‘full’ или свежим резервным копиям, а другие принадлежат ‘inc’ или инкреметным резервным копиям. Начиная с полного набора резервных копий с номера 1, вам нужно восстановить файлы том за томом.

If you encrypted your backup, first you must decrypt the volume with gpg. Say you have 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

Now you have either a .difftar or a .difftar.gz volume (depending on whether you had to decrypt it or not). Use tar on whichever one you have to extract the individual patch files:

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

Или, снова, чтобы обработать все сразу:

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

Now the patch files will be in multivolume_snapshot and snapshot folders. Each file that spanned multiple volumes will be in multivolume_snapshot. Let’s say you backed up /home/jane/essay.txt:

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

Чтобы восстановить данные из инкрементных резервных копий, используйте rdiff (чтобы собрать файлы воедино). См. man rdiff для подробных инструкций.