<?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="pl">
<info>
  <desc>Co zrobić, jeśli nie można przywrócić plików</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>

    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Piotr Drąg</mal:name>
      <mal:email>piotrdrag@gmail.com</mal:email>
      <mal:years>2017-2020</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Aviary.pl</mal:name>
      <mal:email>community-poland@mozilla.org</mal:email>
      <mal:years>2020</mal:years>
    </mal:credit>
  </info>

<title>Kiedy wszystko idzie źle</title>

<p><app>Déjà Dup</app> może nie zadziałać poprawnie. Być może ulega awarii lub informuje o problemie podczas przywracania. Błąd to ostatnia rzecz, jaką chcesz się zajmować, kiedy potrzebujesz swoich danych. Prosimy o <link href="https://gitlab.gnome.org/World/deja-dup/-/issues/new">zgłoszenie go</link>, ale w międzyczasie można skorzystać z kilku sposobów obejścia niewłaściwego działania programu <app>Déjà Dup</app> i przywrócenia danych.</p>

<note><p>To będzie wymagało wiedzy technicznej. Jeśli nic z tego nie ma dla Ciebie sensu, nie bój się <link xref="support">poprosić o pomoc</link>.</p></note>

<steps>
  <item><p>Otwórz <app>Terminal</app> naciskając klawisze <keyseq><key>Ctrl</key><key>Alt</key><key>T</key></keyseq>.</p></item>
  <item><p>Utwórz katalog do umieszczenia przywróconych plików. W tym podręczniku to <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Przywracanie za pomocą programu Duplicity</title>

<p>Jeśli <app>Déjà Dup</app> po prostu nie działa w tej chwili poprawnie, to należy użyć narzędzia wiersza poleceń <app>duplicity</app>, wykorzystywanego przez <app>Déjà Dup</app> do wykonywania kopii zapasowych i przywracania plików.</p>

<note style="advanced"><p>Polecenie <cmd>man duplicity</cmd> wyświetli więcej informacji o <app>duplicity</app>, niż jest podanych tutaj.</p></note>

<p>Najpierw spróbujemy po prostu przywrócić wszystkie dane. Jeśli pliki są na zewnętrznym dysku zamontowanym jako <file its:translate="no">/media/backup</file> i zostały zaszyfrowane, wykonaj:</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

<p>Jeśli kopia zapasowa nie jest zaszyfrowana, dodaj <cmd its:translate="no">--no-encryption</cmd> do polecenia.</p>

<section id="locations">
<title>Inne położenia kopii zapasowej</title>
<p>Jeśli kopia zapasowa jest na zdalnym serwerze lub w chmurze, to składnia polecenia <app>duplicity</app> będzie inna, niż w przypadku dysku zewnętrznego. Poniżej znajdują się instrukcje łączenia z wybranym położeniem kopii zapasowej.</p>
<note><p>Pamiętaj o dodaniu <cmd its:translate="no">--no-encryption</cmd> do każdego przykładowego polecenia, jeśli kopia zapasowa nie jest zaszyfrowana.</p></note>
<p>Jeśli <app>duplicity</app> ma trudności podczas łączenia z serwerem, ręcznie pobierz wszystkie pliki <app>duplicity</app> do lokalnego katalogu i postępuj zgodnie z przykładem podanym powyżej.</p>
<terms>
  <item>
    <title>FTP</title>
    <p>Znajdź swój adres, port, nazwę użytkownika i hasło serwera, a następnie zastąp wystąpienia <var>SERWER</var>, <var>PORT</var>, <var>NAZWA-UŻYTKOWNIKA</var> i <var>HASŁO</var> w poniższym przykładzie tymi wartościami.</p>
    <p>Jeśli podano katalog do umieszczenia plików kopii zapasowej, to w poniższym przykładzie zastąp wszystkie wystąpienia <var>KATALOG</var> tą ścieżką.</p>
    <p>Jeśli wybrano logowanie bez nazwy użytkownika, to użyj <var its:translate="no">anonymous</var> jako <var>NAZWA-UŻYTKOWNIKA</var>.</p>
    <screen its:translate="no">
gvfs-mount ftp://<var its:translate="yes">NAZWA-UŻYTKOWNIKA</var>@<var its:translate="yes">SERWER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">KATALOG</var>
duplicity --gio ftp://<var its:translate="yes">NAZWA-UŻYTKOWNIKA</var>@<var its:translate="yes">SERWER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">KATALOG</var> /tmp/restore</screen>
  </item>
  <item>
    <title>SSH</title>
    <p>Znajdź swój adres, port, nazwę użytkownika i hasło serwera, a następnie zastąp wystąpienia <var>SERWER</var>, <var>PORT</var>, <var>NAZWA-UŻYTKOWNIKA</var> i <var>HASŁO</var> w poniższym przykładzie tymi wartościami.</p>
    <p>Jeśli podano katalog do umieszczenia plików kopii zapasowej, to w poniższym przykładzie zastąp wszystkie wystąpienia <var>KATALOG</var> tą ścieżką.</p>
    <screen its:translate="no">
gvfs-mount ssh://<var its:translate="yes">NAZWA-UŻYTKOWNIKA</var>@<var its:translate="yes">SERWER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">KATALOG</var>
duplicity --gio ssh://<var its:translate="yes">NAZWA-UŻYTKOWNIKA</var>@<var its:translate="yes">SERWER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">KATALOG</var> /tmp/restore</screen>
  </item>
  <item>
    <title>WebDAV</title>
    <p>Znajdź swój adres, port, nazwę użytkownika i hasło serwera, a następnie zastąp wystąpienia <var>SERWER</var>, <var>PORT</var>, <var>NAZWA-UŻYTKOWNIKA</var> i <var>HASŁO</var> w poniższym przykładzie tymi wartościami.</p>
    <p>Jeśli podano katalog do umieszczenia plików kopii zapasowej, to w poniższym przykładzie zastąp wszystkie wystąpienia <var>KATALOG</var> tą ścieżką.</p>
    <p>Jeśli podczas wykonywania kopii zapasowej wybrano zabezpieczone połączenie (HTTPS), to użyj <var its:translate="no">davs://</var> zamiast <var its:translate="no">dav://</var> w poniższym przykładzie.</p>
    <screen its:translate="no">
gvfs-mount dav://<var its:translate="yes">NAZWA-UŻYTKOWNIKA</var>@<var its:translate="yes">SERWER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">KATALOG</var>
duplicity --gio dav://<var its:translate="yes">NAZWA-UŻYTKOWNIKA</var>@<var its:translate="yes">SERWER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">KATALOG</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Zasób Windows</title>
    <p>Znajdź swój adres, nazwę użytkownika i hasło serwera, a następnie zastąp wystąpienia <var>SERWER</var>, <var>NAZWA-UŻYTKOWNIKA</var> i <var>HASŁO</var> w poniższym przykładzie tymi wartościami.</p>
    <p>Jeśli podano katalog do umieszczenia plików kopii zapasowej, to w poniższym przykładzie zastąp wszystkie wystąpienia <var>KATALOG</var> tą ścieżką.</p>
    <p>Jeśli podano domenę dla serwera Windows, to dodaj ją na początku wartości <var>NAZWA-UŻYTKOWNIKA</var> ze średnikiem między nimi. Na przykład: <var>domena;nazwa-użytkownika</var>.</p>
    <screen its:translate="no">
gvfs-mount smb://<var its:translate="yes">NAZWA-UŻYTKOWNIKA</var>@<var its:translate="yes">SERWER</var>/<var its:translate="yes">KATALOG</var>
duplicity --gio smb://<var its:translate="yes">NAZWA-UŻYTKOWNIKA</var>@<var its:translate="yes">SERWER</var>/<var its:translate="yes">KATALOG</var> /tmp/restore</screen>
  </item>
</terms>
</section>

</section>

<section id="by-hand">
<title>Ręczne przywracanie</title>

<p>Jeśli nawet <app>duplicity</app> nie pomaga, to nie należy się poddawać. Format plików kopii zapasowej jest skomplikowany i niełatwy w modyfikacji, ale w trudnej sytuacji warto spróbować.</p>

<p>Jeśli kopia zapasowa jest na zdalnym serwerze lub w chmurze, to najpierw pobierz wszystkie pliki <app>duplicity</app> i umieść je w katalogu na komputerze. Następnie przejdź do tego katalogu w terminalu.</p>

<p><app>Duplicity</app> przechowuje dane w małych fragmentach, zwanych woluminami. Niektóre woluminy należą do okresowych pełnych kopii zapasowych, a inne do kopii przyrostowych. Zaczynając od zestawu woluminów pełnej kopii zapasowej na 1. woluminie, będzie trzeba przywracać pliki wolumin po woluminie.</p>

<p>Jeśli kopia zapasowa jest zaszyfrowana, najpierw należy odszyfrować wolumin za pomocą polecenia <cmd its:translate="no">gpg</cmd>. Jeśli nazywa się on <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>Albo zrób wszystko naraz (upewnij się, że jest wystarczająco miejsca!):</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>Wynikiem jest wolumin <file its:translate="no">.difftar</file> lub <file its:translate="no">.difftar.gz</file> (w zależności od tego, czy musiał zostać odszyfrowany). Wykonaj polecenie <cmd its:translate="no">tar</cmd> na woluminie, aby wypakować poszczególne pliki łat:</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>Albo znowu zrób wszystko naraz:</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p>Pliki łat będą w katalogach <file its:translate="no">multivolume_snapshot</file> i <file its:translate="no">snapshot</file>. Wszystkie pliki rozciągnięte na kilka woluminów będą w <file its:translate="no">multivolume_snapshot</file>. Jeśli plik w kopii zapasowej nazywa się <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>Aby przywrócić dane z kopii przyrostowej, wykonaj polecenie <cmd its:translate="no">rdiff</cmd> w celu połączenia plików w całość. <cmd its:translate="no">man rdiff</cmd> zawiera więcej informacji o tym poleceniu.</p>

</section>

</page>
