<?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" lang="uk">
<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</p></license>
<credit type="translator copyright"><name>Юрій Чорноіван</name><email>yurchor@ukr.net</email><years>2020</years></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>У цих настановах ми припускаємо, що ви маєте доступ до командного рядка. Спочатку відкрийте вікно <app>Термінала</app>.</p></note>

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

<p>Протягом свого розвитку у <app>Déjà Dup</app> за лаштунками було використано різні інструменти резервного копіювання. Спочатку було використано <app>Duplicity</app>. У поточній версії можна скористатися <app>Restic</app>.</p>
<p>Ваша резервна копія може зберігатися у будь-якому форматі, залежно від того, коли ви її створили.</p>
<p>Зазирніть до теки, де зберігається ваша резервна копія:</p>
<list>
  <item><p>Якщо усі назви файлів починаються з <cmd its:translate="no">duplicity-</cmd>, це резервна копія <app>Duplicity</app>. Ознайомтеся із розділами <app>Duplicity</app> нижче.</p></item>
  <item><p>Якщо ви побачите файл <cmd its:translate="no">config</cmd> та кілька тек, подібних до <cmd its:translate="no">keys</cmd>, то це резервна копія <app>Restic</app>. Прочитайте розділи щодо <app>Restic</app> нижче.</p></item>
</list>
</section>

<section id="restic">
<title>Відновлення за допомогою Restic</title>

<p>Припускаючи, що <app>Déjà Dup</app> просто не працює у вашому конкретному випадку, ми скористаємося інструментом командного рядка <app>Restic</app>, яким <app>Déjà Dup</app> користується для виконання своїх завдань із резервного копіювання, для відновлення ваших файлів.</p>

<note style="advanced"><p>Якщо вам потрібні додаткові відомості щодо <app>Restic</app>, відмінні від наданих тут, віддайте команду <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>Якщо вам треба виконати складнішу діагностику, ознайомтеся з їхнім <link href="https://restic.readthedocs.io/en/stable/077_troubleshooting.html">підручником із усування проблем</link>.</p>
</section>

<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>, прочитайте <link href="http://duplicity.gitlab.io/docs.html">інтернет-документацію</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>Інші місця сховища</title>
<p>Якщо резервну копію збережено на віддаленому або «хмарному» сервері, синтаксис команди <app>duplicity</app> буде відрізнятися від синтаксису для прикладу із зовнішнім диском, який наведено вище.</p>
<p>Ознайомтеся із документацією до <app>duplicity</app>, щоб дізнатися про настанови щодо того, як встановити з'єднання з сервером, спробуйте отримати усі файли <app>duplicity</app> до теки на вашому комп'ютері і виконайте дії із простішого прикладу, який наведено вище.</p>
</section>

<section id="duplicity-by-hand">
<title>Відновлення файлів з Duplicity вручну</title>

<p>Якщо навіть <app>duplicity</app> не зарадить вам, усе ще лишається трохи надії. Формат файлів резервних копій є складним — працювати з ним не просто. Втім, якщо ви не боїтеся роботи, варто спробувати.</p>

<p>Якщо для зберігання ваших резервних копій ви користувалися віддаленим або «хмарним» сервером, спочатку отримайте файли <app>duplicity</app> і збережіть їх до теки на вашому комп'ютері. Далі, увійдіть до цієї теки у терміналі.</p>

<p><app>Duplicity</app> зберігає ваші дані у малих фрагментах, які називаються томами. Деякі томи належать до періодичних «повних» або свіжих резервних копій, а інші є томами нарощувальних резервних копій. Починаючи з повного набору томів резервної копії у томі 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>
