<?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>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>Michael Terry</mal:name>
      <mal:email>mike@mterry.name</mal:email>
      <mal:years>2019</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Ser82-png</mal:name>
      <mal:email>asvmail.as@gmail.com</mal:email>
      <mal:years>2022-2023</mal:years>
    </mal:credit>
  </info>

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

<p><app>Déjà Dup</app> может завершиться неудачно. Может случиться, что она падает или выдаёт ошибку, когда вы пытаетесь сделать восстановление. Когда вам действительно нужно вернуть свои данные, ошибка это последнее чего вы хотите. Подумайте над составлением <link href="https://gitlab.gnome.org/World/deja-dup/-/issues/new">запроса о помощи</link>, но пока он обрабатывается, вот несколько подходов, чтобы обойти неправильное поведение <app>Déjà Dup</app> и вернуть ваши данные.</p>

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

<note><p>These instructions assume you are have a command line available. Open a <app>Terminal</app> window first.</p></note>

<section id="which-backend">
<title>Restic or Duplicity?</title>

<p>Over time, <app>Déjà Dup</app> has used different backup tools under the covers. Originally, it used <app>Duplicity</app>. Nowadays, it uses <app>Restic</app>.</p>
<p>Your backup might be in either format, depending on when you created it.</p>
<p>Look in the folder where your backup is kept:</p>
<list>
  <item><p>If the filenames all start with <cmd its:translate="no">duplicity-</cmd>, then it's a <app>Duplicity</app> backup. Read the <app>Duplicity</app> sections below.</p></item>
  <item><p>If you see a <cmd its:translate="no">config</cmd> file and a few folders like <cmd its:translate="no">keys</cmd>, then it's a <app>Restic</app> backup. Read the <app>Restic</app> sections below.</p></item>
</list>
</section>

<section id="restic">
<title>Restoring with Restic</title>

<p>On the assumption that <app>Déjà Dup</app> is just not working for you right now, let’s use the command line tool <app>Restic</app> that is used by <app>Déjà Dup</app> behind the scenes to back up and restore your files.</p>

<note style="advanced"><p>If you want more information about <app>Restic</app> than presented here, run <cmd its:translate="no">restic --help</cmd>.</p></note>

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

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

<p>If you need to do more advanced debugging, read their <link href="https://restic.readthedocs.io/en/stable/077_troubleshooting.html">troubleshooting guide</link>.</p>
</section>

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

<p>On the assumption that <app>Déjà Dup</app> is just not working for you right now, let’s use the command line tool <app>duplicity</app> that is used by <app>Déjà Dup</app> behind the scenes to back up and restore your files.</p>

<note style="advanced"><p>If you want more information about <app>Duplicity</app> than presented here, read <link href="http://duplicity.gitlab.io/docs.html">its online documentation</link>.</p></note>

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

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

<section id="duplicity-locations">
<title>Other Storage Locations</title>
<p>If you backed up to a remote or cloud server, the syntax you use with <app>Duplicity</app> will be different than the external drive example above.</p>
<p>Read the <app>Duplicity</app> documentation for instructions on how to connect to your server, or try downloading all the <app>Duplicity</app> files yourself to a local folder and following the simpler example above.</p>
</section>

<section id="duplicity-by-hand">
<title>Restoring Duplicity Files by Hand</title>

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

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

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

<p>Если вы зашифровали свою резервную копию, сначала вы должны расшифровать её с помощью <cmd its:translate="no">gpg</cmd>. Предположим, у вас есть <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>Теперь у вас есть либо <file its:translate="no">.difftar</file>, либо <file its:translate="no">.difftar.gz</file> том (в зависимости от того, пришлось вам его расшифровывать или нет). Используйте <cmd its:translate="no">tar</cmd> на любом из них, чтобы извлечь отдельные файлы исправлений:</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>Теперь файлы исправлений будут находиться в папках <file its:translate="no">multivolume_snapshot</file> и <file its:translate="no">snapshot</file>. Каждый файл, занимающий несколько томов, будет находиться в папке <file its:translate="no">multivolume_snapshot</file>. Допустим, вы создали резервную копию <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>
</section>

</page>
