<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: CC-BY-SA-4.0
SPDX-FileCopyrightText: Michael Terry
-->
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" its:version="2.0" type="topic" style="task" id="restore-worst-case" xml:lang="ru">
<info>
  <desc>Что предпринять, если вы не можете восстановить ваши файлы</desc>
  <link type="guide" xref="index#restore"/>
  <credit type="author" its:translate="no">
    <name>Michael Terry</name>
  </credit>
  <license href="http://creativecommons.org/licenses/by-sa/4.0/"><p>Creative Commons Attribution-Share Alike 4.0 Unported License</p></license>

    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Aaz</mal:name>
      <mal:email>https://launchpad.net/~aaz2009</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Alexander 'FONTER' Zinin</mal:name>
      <mal:email>https://launchpad.net/~spore-09</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Dmitriy Kulikov</mal:name>
      <mal:email>https://launchpad.net/~kulikoff</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Eugene Roskin</mal:name>
      <mal:email>https://launchpad.net/~lowrider</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Mihail Kravsun</mal:name>
      <mal:email>https://launchpad.net/~ozzymk</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Nikita Putko</mal:name>
      <mal:email>https://launchpad.net/~ktototam98</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Sergey Basalaev</mal:name>
      <mal:email>https://launchpad.net/~sbasalaev</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Sergey Sedov</mal:name>
      <mal:email>https://launchpad.net/~serg-sedov</mal:email>
      <mal:years/>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>diablo</mal:name>
      <mal:email>https://launchpad.net/~diablo</mal:email>
      <mal:years/>
    </mal:credit>
  </info>

<title>Когда всё идёт не так</title>

<p><app>Déjà Dup</app> 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 <link href="https://gitlab.gnome.org/World/deja-dup/-/issues/new">help request</link> but in the meantime, here are some approaches to workaround a misbehaving <app>Déjà Dup</app> and get your data back.</p>

<note><p>Это технические сведения. Если всё описанное не имеет для вас смысла, не стесняйтесь <link xref="support">просить о помощи</link>.</p></note>

<steps>
  <item><p>Откройте окно <app>Терминала</app>, нажав <keyseq><key>Ctrl</key><key>Alt</key><key>T</key></keyseq>.</p></item>
  <item><p>Выберите папку, куда будут помещены файлы восстановления. Это руководство использует <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Восстановление с Duplicity</title>

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

<note style="advanced"><p>Если вы хотите больше информации о <app>duplicity</app>, чем представлено здесь, выполните команду <cmd>man duplicity</cmd>.</p></note>

<p>Для начала мы попробуем сделать простое восстановление всех ваших данных. Предполагая, что все ваши данные находяться на внешнем диске смонтированном как <file its:translate="no">/media/backup</file> и вы использовали шифрование резервных копий, попробуйте сделать это:</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

<p>Если вы не использовали шифрование резервных копий, то добавьте к команде: <cmd its:translate="no">--no-encryption</cmd></p>

<section id="locations">
<title>Другое расположение резервной копии</title>
<p>Если вы создавали резервную копию на удалённом или облачном сервере, синтаксис, который нужно использовать в <app>duplicity</app>, будет отличаться от примера с внешним диском выше. Смотрите ниже, как соединиться с выбранным местоположением резервной копии.</p>
<note><p>Не забывайте добавлять <cmd its:translate="no">--no-encryption</cmd> к любому из примеров команд, если резервная копия не зашифрована</p></note>
<p>Если у <app>duplicity</app> проблемы при соединении с сервером, попробуйте скачать все файлы <app>duplicity</app> самостоятельно в локальную папку и сделать, как в простом примере выше.</p>
<terms>
  <item>
    <title>FTP</title>
    <p>Найдите необходимый адрес сервера, порт, имя пользователя, и пароль и замените строки <var>СЕРВЕР</var>, <var>ПОРТ</var>, <var>ИМЯ</var> и <var>ПАРОЛЬ</var> в примере ниже на соответствующие значения.</p>
    <p>Возможно, вы задавали папку, в которую необходимо помещать резервные копии файлов. В примере ниже замените строку <var>ПУТЬ</var> на этот путь.</p>
    <p>If you chose to not log in with a username, use <var its:translate="no">anonymous</var> as your <var>USERNAME</var> below.</p>
    <screen its:translate="no">
gvfs-mount ftp://<var its:translate="yes">ИМЯ ПОЛЬЗОВАТЕЛЯ</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var>
duplicity --gio ftp://<var its:translate="yes">ИМЯ ПОЛЬЗОВАТЕЛЯ</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
  <item>
    <title>SSH</title>
    <p>Найдите необходимый адрес сервера, порт, имя пользователя, и пароль и замените строки <var>СЕРВЕР</var>, <var>ПОРТ</var>, <var>ИМЯ</var> и <var>ПАРОЛЬ</var> в примере ниже на соответствующие значения.</p>
    <p>Возможно, вы задавали папку, в которую необходимо помещать резервные копии файлов. В примере ниже замените строку <var>ПУТЬ</var> на этот путь.</p>
    <screen its:translate="no">
gvfs-mount ssh://<var its:translate="yes">ИМЯ ПОЛЬЗОВАТЕЛЯ</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var>
duplicity --gio ssh://<var its:translate="yes">ИМЯ ПОЛЬЗОВАТЕЛЯ</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
  <item>
    <title>WebDAV</title>
    <p>Найдите необходимый адрес сервера, порт, имя пользователя, и пароль и замените строки <var>СЕРВЕР</var>, <var>ПОРТ</var>, <var>ИМЯ</var> и <var>ПАРОЛЬ</var> в примере ниже на соответствующие значения.</p>
    <p>Возможно, вы задавали папку, в которую необходимо помещать резервные копии файлов. В примере ниже замените строку <var>ПУТЬ</var> на этот путь.</p>
    <p>Если Вы используете защищённое соединение (HTTPS) для резервного копирования, используйте <var its:translate="no">davs://</var> вместо <var its:translate="no">dav://</var> в нижеприведённых примерах.</p>
    <screen its:translate="no">
gvfs-mount dav://<var its:translate="yes">ИМЯ ПОЛЬЗОВАТЕЛЯ</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var>
duplicity --gio dav://<var its:translate="yes">ИМЯ ПОЛЬЗОВАТЕЛЯ</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
  <item>
    <title>общие ресурсы Windows</title>
    <p>Найдите ваш адрес сервера, имя пользователя и пароль и замените строки <var>СЕРВЕР</var>, <var>ИМЯ</var> и <var>ПАРОЛЬ</var> в примере ниже на соответствующие значения.</p>
    <p>Возможно, вы задавали папку, в которую необходимо помещать резервные копии файлов. В примере ниже замените строку <var>ПУТЬ</var> на этот путь.</p>
    <p>Если вы указывали домен для вашего сервера Windows, добавьте его перед <var>ИМЯ</var>, разделяя их точкой с запятой. Например, <var>домен;имя</var>.</p>
    <screen its:translate="no">
gvfs-mount smb://<var its:translate="yes">ИМЯ ПОЛЬЗОВАТЕЛЯ</var>@<var its:translate="yes">SERVER</var>/<var its:translate="yes">ПАПКА</var>
duplicity --gio smb://<var its:translate="yes">ИМЯ ПОЛЬЗОВАТЕЛЯ</var>@<var its:translate="yes">SERVER</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
</terms>
</section>

</section>

<section id="by-hand">
<title>Восстановление вручную</title>

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

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

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

<p>If you encrypted your backup, first you must decrypt the volume with <cmd its:translate="no">gpg</cmd>.  Say you have <file its:translate="no">duplicity-full.20110127T131352Z.vol1.difftar.gpg</file>:</p>
<screen its:translate="no">gpg --output duplicity-full.20110127T131352Z.vol1.difftar --decrypt duplicity-full.20110127T131352Z.vol1.difftar.gpg</screen>

<p>Или, чтобы обработать сразу все (убедитесь, что у вас достаточно свободного места!):</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>Now you have either a <file its:translate="no">.difftar</file> or a <file its:translate="no">.difftar.gz</file> volume (depending on whether you had to decrypt it or not).  Use <cmd its:translate="no">tar</cmd> on whichever one you have to extract the individual patch files:</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>Или, снова, чтобы обработать все сразу:</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p>Now the patch files will be in <file its:translate="no">multivolume_snapshot</file> and <file its:translate="no">snapshot</file> folders.  Each file that spanned multiple volumes will be in <file its:translate="no">multivolume_snapshot</file>. Let’s say you backed up <file its:translate="no">/home/jane/essay.txt</file>:</p>
<screen its:translate="no">cd multivolume_snapshot/home/jane/essay.txt
cat * &gt; essay.txt</screen>

<p>Чтобы восстановить данные из инкрементных резервных копий, используйте <cmd its:translate="no">rdiff</cmd> (чтобы собрать файлы воедино). См. <cmd its:translate="no">man rdiff</cmd> для подробных инструкций.</p>

</section>

</page>
