<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" its:version="1.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"/>
</info>

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

<p><app>Déjà Dup</app> może nie zadziałać poprawnie. Być może program zakończył się z błędem lub informuje o błędzie kiedy próbujesz przywrócić dane. Kiedy naprawdę potrzebujesz swoich danych ostatnią rzeczą jakiej chcesz jest błąd w programie. Rozważ a <link href="https://launchpad.net/deja-dup/+filebug">zgłoszenie błędu</link>, ale w międzyczasie jest też tutaj trochę sposobów obejścia niewłaściwego działania <app>Déjà Dup</app> i przywrócenia twoich 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ę i  <link xref="support">poproś o pomoc</link>.</p></note>

<steps>
  <item><p>Otwórz <app>Terminal</app> przez naciśnięcie <keyseq> <key> Ctrl </key> <key> Alt </key> <key> T </key> </keyseq>.</p></item>
  <item><p>Utwórz katalog, w którym umieścisz swoje przywrócone pliki. Ten poradnik będzie korzystać z <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Przywracanie przy użyciu programu Duplicity</title>

<p>Przy założeniu, że <app>Déjà Dup</app> po prostu nie działa w tej chwili poprawnie, użyj narzędzia linii poleceń <app>duplicity</app>, wykorzystywanego przez <app>Déjà Dup</app>  do tworzenia kopii zapasowych i przywracania twoich danych.</p>

<note style="advanced"><p>Jeśli potrzebujesz więcej informacji na temat <app>duplicity</app> niż przedstawionych jest tutaj, uruchom <cmd>man duplicity</cmd>.</p></note>

<p>Pierwszą rzeczną, którą postaramy się zrobić to proste przywracanie wszystkich danych. Zakładając, że pliki są na zewnętrznym dysku zamontowanym jako <file its:translate="no">/media/backup</file> i zostało wybrane szyfrowanie kopii zapasowej, spróbuj tego:</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

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

<section id="locations">
<title>Inne lokalizacje zapasowe</title>
<p>Jeśli wykonałeś kopię zapasową do zdalnego serwera lub chmury, składnia jaką używasz z <app>duplicity</app> będzie inna niż przykład zewnętrznego dysku powyżej. Zobacz poniżej, jak połączyć się z wybraną przez ciebie lokalizacją kopii zapasowej.</p>
<note><p>Pamiętaj aby dodać <cmd its:translate="no">--no-encryption</cmd> do każdego przykładu polecenia jeśli kopia zapasowa nie jest zaszyfrowana.</p></note>
<p>Jeśli <app>duplicity</app> ma problem z połączeniem się z Twoim serwerem, spróbuj pobrać wszystkie pliki <app>duplicity</app>ręcznie do folderu lokalnego jak w przykładzie podanym powyżej.</p>
<terms>
  <item>
    <title>Amazon S3</title>
    <p>Znajdź ID swojego klucza dostępu oraz tajnego klucza Amazon S3 i zastąp wystąpienia <var>ID</var> i <var>SECRET</var> w przykładzie poniżej tymi wartościami.</p>
    <p>Mogłeś wybrać folder w którym będą składowane pliki kopii zapasowej. W przykładzie poniżej, zastąp każde wystąpienie <var>FOLDER</var> tą ścieżką.</p>
    <screen its:translate="no">
export AWS_ACCESS_KEY_ID=<var its:translate="yes">ID</var>
export AWS_SECRET_ACCESS_KEY=<var its:translate="yes">SEKRET</var>
duplicity s3+http://deja-dup-auto-<var its:translate="yes">MAŁYMI LITERAMI_ID</var>/<var its:translate="yes">KATALOG</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Pliki Chmury Rackspace</title>
    <p>Znajdź swoją nazwę użytkownika i klucz Rackspace i zastąp wystąpienia <var>ID</var> i <var>SECRET</var> w przykładzie poniżej tymi wartościami.</p>
    <p>Mogłeś wybrać kontener w którym będą składowane pliki kopii zapasowej. W przykładzie poniżej, zastąp każde wystąpienie <var>CONTAINER</var> tą nazwą.</p>
    <screen its:translate="no">
export CLOUDFILES_USERNAME=<var its:translate="yes">NAZWA UŻYTKOWNIKA</var>
export CLOUDFILES_APIKEY=<var its:translate="yes">KLUCZ</var>
duplicity cf+http://<var its:translate="yes">KONTENER</var> /tmp/restore</screen>
  </item>
  <item>
    <title>FTP</title>
    <p>Sprawdź swój adres serwera, port, nazwę użytkownika, hasło i zastąp <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var>, i <var>PASSWORD</var> w poniższym przykładzie z tymi odpowiednimi wartościami.</p>
    <p>Mogłeś wybrać folder w którym będą składowane pliki kopii zapasowej. W przykładzie poniżej, zastąp każde wystąpienie <var>FOLDER</var> tą ścieżką.</p>
    <p>Jeśli zdecydujesz się logować nie używając nazwy użytkownika, należy użyć <var its:translate="no">anonymous</var> jak Twoja <var>NAZWA UŻYTKOWNIKA</var> poniżej.</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>Sprawdź swój adres serwera, port, nazwę użytkownika, hasło i zastąp <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var>, i <var>PASSWORD</var> w poniższym przykładzie z tymi odpowiednimi wartościami.</p>
    <p>Mogłeś wybrać folder w którym będą składowane pliki kopii zapasowej. W przykładzie poniżej, zastąp każde wystąpienie <var>FOLDER</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>Sprawdź swój adres serwera, port, nazwę użytkownika, hasło i zastąp <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var>, i <var>PASSWORD</var> w poniższym przykładzie z tymi odpowiednimi wartościami.</p>
    <p>Mogłeś wybrać folder w którym będą składowane pliki kopii zapasowej. W przykładzie poniżej, zastąp każde wystąpienie <var>FOLDER</var> tą ścieżką.</p>
    <p>Jeśli zdecydujesz się używać bezpiecznego połączenia (HTTPS) podczas tworzenia kopii zapasowej, należy użyć <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>Sprawdź adres serwera, nazwę użytkownika, hasło i zastąp je <var>SERWER</var>, <var>NAZWA UŻYTKOWNIKA</var>, i <var>HASŁO</var> w poniższym przykładzie z odpowiednimi wartościami.</p>
    <p>Mogłeś wybrać folder w którym będą składowane pliki kopii zapasowej. W przykładzie poniżej, zastąp każde wystąpienie <var>FOLDER</var> tą ścieżką.</p>
    <p>Jeśli została określona domena dla serwera Windows, należy dodać ją na początku <var>NAZWY 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>Odtwarzanie ręczne</title>

<p>Nawet jeśli <app>duplicity</app> nie działa, to i tak może być trochę nadziei. Format pliku kopii zapasowej jest skomplikowany i nie jest łatwo nim manipulować. Aczkolwiek jeśli jesteś zdesperowany, to warto spróbować.</p>

<p>Jeśli do kopi zapasowej został użyty serwer zdalny lub chumra, najpierw pobierz wszystkie pliki <app>duplicity</app> i umieść je w folderze na swoim komputerze. Następnie należy wejść do tego folderu przez terminal.</p>

<p><app>Duplicity</app> skłąduje Twoje dane w niedużych kawałkach nazywanych woluminami. Niektóre woluminy należą do cyklicznej "pełnej" kopii zapasowej lub nowych kopii zapasowych, a inne do kopii przyrostowych. Rozpoczynając z pełną kopią woluminów w wolumin 1 będziesz musiał odtwarzać pliki wolumin po woluminie.</p>

<p>Jeśli kopia zapasowa została zaszyfrowana, najpierw musisz odszyfrować wolumen z <cmd its:translate="no">gpg</cmd>. Powiedzmy, że masz <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 na raz (upewnij się że masz wystarczająco miejsca!):</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>Lub ponownie, aby zrobić wszystko na raz:</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>Aby odtworzyć dane z kopii przyrostowej, użyj <cmd its:translate="no">rdiff</cmd> w celu połączenia plików. Sprawdź <cmd its:translate="no">man rdiff</cmd> co do wskazówek użycia.</p>

</section>

</page>
