<?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" 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> 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://launchpad.net/deja-dup/+filebug">bug report</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>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ć <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>On the assumption that <app>Déjà Dup</app> is just not working for you right now, you’re going to 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>Jeśli chcesz więcej informacji na temat <app>duplicity</app> niż przedstawione 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>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.  See below for how to connect to your chosen backup location.</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ę do Twojego serwera, 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>Look up your Amazon S3 access key ID and secret access key and replace instances of <var>ID</var> and <var>SECRET</var> in the example below with those respective values.</p>
    <p>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</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>Rackspace Cloud Files</title>
    <p>Look up your Rackspace username and API key and replace instances of <var>USERNAME</var> and <var>KEY</var> in the example below with those respective values.</p>
    <p>You may have specified a container in which to put the backup files.  In the example below, replace any instance of <var>CONTAINER</var> with that name.</p>
    <screen its:translate="no">
export CLOUDFILES_USERNAME=<var its:translate="yes">NAZWA UŻYTKOWNIKA</var>
export CLOUDFILES_APIKEY=<var its:translate="yes">KEY</var>
duplicity cf+http://<var its:translate="yes">CONTAINER</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>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</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>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</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>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</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>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</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>Restoring by Hand</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> stores your data in small chunks called volumes.  Some volumes belong to the periodic ‘full’ or fresh backups and others to the ‘inc’ or incremental backups.  Starting with a full backup set of volumes at volume 1, you’ll need to restore files volume by volume.</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>To recover data from incremental backups, use <cmd its:translate="no">rdiff</cmd> to stitch the files together. See <cmd its:translate="no">man rdiff</cmd> for usage.</p>

</section>

</page>
