<?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="sk">
<info>
  <desc>Čo robiť, ak sa nepodarí obnoviť súbory</desc>
  <link type="guide" xref="index#restore"/>
</info>

<title>Keď obnova nefunguje</title>

<p><app>Déjà Dup</app> môže zlyhať. Možno zhavaruje alebo vypíše chybu pri obnovovaní súborov. Ak naozaj potrebujeme svoje údaje späť, posledná vec s ktorou sa potrebujeme zaoberať je nejaká chyba. Chybu síce môžeme nahlásiť vyplnením <link href="https://launchpad.net/deja-dup/+filebug">hlásenia o chybe</link>, no zatiaľ môžeme vyskúšať ďalšie postupy ako opraviť nefunkčný <app>Déjà Dup</app> a získať svoje údaje späť.</p>

<note><p>Toto si vyžaduje technické znalosti. Ak niečomu nebudeme rozumieť, môžeme <link xref="support">požiadať o pomoc</link>.</p></note>

<steps>
  <item><p>Otvoríme <app>Terminál</app> stlačením klávesovej skratky <keyseq><key>Ctrl</key><key>Alt</key><key>T</key></keyseq>.</p></item>
  <item><p>Vytvoríme adresár, do ktorého sa budú ukladať obnovené súbory. V tomto návode použijeme <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Obnova pomocou nástroja Duplicity</title>

<p>V prípade, že program <app>Déjà Dup</app> nefunguje, môžeme miíesto neho použiť nástroj pre príkazový riadok <app>duplicity</app>, ktorý skryte používa na zálohovanie a obnovu aj program <app>Déjà Dup</app>.</p>

<note style="advanced"><p>Ak chceme viaci informácií o programe <app>duplicity</app>, spustíme príkaz <cmd>man duplicity</cmd>.</p></note>

<p>Prvou vecou, ktorú môžeme skúsiť, je jednoduché obnovenie všetkých údajov. V návode budeme predpokladať, že súbory sú uložené na externom disku pripojenom do adresára <file its:translate="no">/media/backup</file> a že sme zálohu pri vytváraní zašifrovali:</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

<p>Ak sme zálohu nezašifrovali, pridáme do príkazu voľbu <cmd its:translate="no">--no-encryption</cmd> .</p>

<section id="locations">
<title>Ostatné umiestnenia záloh</title>
<p>Ak sme zálohu vytvárali na vzdialený server alebo do mraku, syntax príkazu <app>duplicity</app> bude iná, ako sme použili pri externom disku v predhchádzajúcom príklade. Teraz ukážeme ako sa dá pripojiť k niektorým vybraným úložiskám.</p>
<note><p>Ak sme pri vytváraní zálohy nepoužili šifrovanie, je potrebné ku každému z nasledujúcich príkazov pridať voľbu <cmd its:translate="no">--no-encryption</cmd>.</p></note>
<p>Ak sa zdá, že má nástroj <app>duplicity</app> problémy s pripojením na server, môžeme sa pokúsiť stiahnuť všetky súbory zálohy ručne do miestneho priečinka a použiť predchádzajúci jednoduchší príkaz.</p>
<terms>
  <item>
    <title>Amazon S3</title>
    <p>Vyhľadáme Identifikátor kľúča (Amazon S3 access key ID) a tajný kľúč (secret access key) a v nasledujúcom príklade nahradíme položky <var>IDENTIFIKÁTOR</var> a <var>TAJNÝ_KĽÚČ</var> získanými hodnotami.</p>
    <p>Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu <var>PRIEČINOK</var> zistenou cestou.</p>
    <screen its:translate="no">
export AWS_ACCESS_KEY_ID=<var its:translate="yes">IDENTIFIKÁTOR</var>
export AWS_SECRET_ACCESS_KEY=<var its:translate="yes">TAJNÝ_KĽÚČ</var>
duplicity s3+http://deja-dup-auto-<var its:translate="yes">IDENTIFIKÁTOR_MALÝMI_PÍSMENAMI</var>/<var its:translate="yes">PRIEČINOK</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Rackspace Cloud Files</title>
    <p>Zistíme používateľské meno a API kľúč k Rackspace a v nasledujúcom príklade nahradíme položky <var>POUŽÍVATEĽSKÉ_MENO</var> a <var>KĽÚČ</var> získanými hodnotami.</p>
    <p>Zistíme do akého kontajnera sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu <var>KONTAJNER</var>zistenou hodnotou.</p>
    <screen its:translate="no">
export CLOUDFILES_USERNAME=<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>
export CLOUDFILES_APIKEY=<var its:translate="yes">KĽÚČ</var>
duplicity cf+http://<var its:translate="yes">KONTAJNER</var> /tmp/restore</screen>
  </item>
  <item>
    <title>FTP</title>
    <p>Zistíme adresu servera, port, používateľské meno a heslo  v nasledujúcom príklade nahradíme položky <var>SERVER</var>, <var>PORT</var>, <var>POUŽÍVATEĽSKÉ_MENO</var> a <var>HESLO</var> získanými hodnotami.</p>
    <p>Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu <var>PRIEČINOK</var> zistenou cestou.</p>
    <p>Ak ftp server vyžaduje anonymný prístup, môžeme hodnotu <var>POUŽÍVATEĽSKÉ_MENO</var> nahradiť hodnotou <var its:translate="no">anonymous</var>.</p>
    <screen its:translate="no">
gvfs-mount ftp://<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">PRIEČINOK</var>
duplicity --gio ftp://<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">PRIEČINOK</var> /tmp/restore</screen>
  </item>
  <item>
    <title>SSH</title>
    <p>Zistíme adresu servera, port, používateľské meno a heslo  v nasledujúcom príklade nahradíme položky <var>SERVER</var>, <var>PORT</var>, <var>POUŽÍVATEĽSKÉ_MENO</var> a <var>HESLO</var> získanými hodnotami.</p>
    <p>Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu <var>PRIEČINOK</var> zistenou cestou.</p>
    <screen its:translate="no">
gvfs-mount ssh://<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">PRIEČINOK</var>
duplicity --gio ssh://<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">PRIEČINOK</var> /tmp/restore</screen>
  </item>
  <item>
    <title>WebDAV</title>
    <p>Zistíme adresu servera, port, používateľské meno a heslo  v nasledujúcom príklade nahradíme položky <var>SERVER</var>, <var>PORT</var>, <var>POUŽÍVATEĽSKÉ_MENO</var> a <var>HESLO</var> získanými hodnotami.</p>
    <p>Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu <var>PRIEČINOK</var> zistenou cestou.</p>
    <p>Ak sme sa rozhodli použiť zabezpečené spojenie (HTTPS) pri zálohovaní, použijeme v nasledujúcom príklade <var its:translate="no">davs://</var>  namiesto <var its:translate="no">dav://</var>.</p>
    <screen its:translate="no">
gvfs-mount dav://<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">PRIEČINOK</var>
duplicity --gio dav://<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>@<var its:translate="yes">SERVER</var>:<var its:translate="yes">PORT</var>/<var its:translate="yes">PRIEČINOK</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Sieťový disk Windows</title>
    <p>Zistíme adresu servera, port, používateľské meno a heslo  v nasledujúcom príklade nahradíme položky <var>SERVER</var>, <var>POUŽÍVATEĽSKÉ_MENO</var> a <var>HESLO</var> získanými hodnotami.</p>
    <p>Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu <var>PRIEČINOK</var> zistenou cestou.</p>
    <p>Ak je server Windows správca domény, pridáme jej názov na začiatok hodnoty <var>POUŽÍVATEĽSKÉ_MENO</var> a oddelíme ju bodkočiarkou v tvare <var>doména;používateľské_meno</var>.</p>
    <screen its:translate="no">
gvfs-mount smb://<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>@<var its:translate="yes">SERVER</var>/<var its:translate="yes">PRIEČINOK</var>
duplicity --gio smb://<var its:translate="yes">POUŽÍVATEĽSKÉ_MENO</var>@<var its:translate="yes">SERVER</var>/<var its:translate="yes">PRIEČINOK</var> /tmp/restore</screen>
  </item>
</terms>
</section>

</section>

<section id="by-hand">
<title>Ručné obnovenie</title>

<p>Ak ani <app>duplicity</app> nefunguje, ešte existuje malá nádej. Formát záložných súborov je zložitý a nedá sa s ním ľahko manipulovať. Ak sme však zúfalý, stojí to za vyskúšanie.</p>

<p>Ak sme zálohu uložili na vzdialený server alebo úložisko v mraku, najskôr všetky súbory stiahneme a umiestnime ich do priečinka v našom počítači. Potom tento priečinok použijeme v príkazoch v termináli.</p>

<p>Program <app>Duplicity</app> ukladá údaje v malých súboroch, ktoré voláme zväzky. Niektoré zväzky patria celistvým alebo pravidelným zálohám a sú označené slovom „full” a iné patria prídavným zálohám a sú označené slovom „inc”. Začneme s prvým zväzkom sady úplnej zálohy a bude postupne obnovovať zväzok po zväzku.</p>

<p>Ak sme zálohu zašifrovali, naskôr musíme zväzky dešifrovať pomocou nástroja <cmd its:translate="no">gpg</cmd>. Ako príklad použijeme súbor <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>Alebo ich môžeme dešifrovať všetky naraz (uistíme sa či máme dostatok miesta!):</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>Teraz (ak sa dešifrovanie podarilo) získame zväzky s príponou <file its:translate="no">.difftar</file> alebo <file its:translate="no">.difftar.gz</file>. Každý z nich jednotlivo rozbalíme pomocou nástroja <cmd its:translate="no">tar</cmd>:</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>Alebo ich opäť môžeme robaliť všetky naraz:</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p>Rozbalené súbory sa teraz budú nachádzať v priečinkoch <file its:translate="no">multivolume_snapshot</file> a <file its:translate="no">snapshot</file>. Každý súbor, ktorý bol rozdelený do viacerých zväzkov bude v <file its:translate="no">multivolume_snapshot</file>. Takto napríklad spojíme rozdelený súbor <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>Keď chceme obnoviť údaje z prídavných záloh, použijeme na to nástroj <cmd its:translate="no">rdiff</cmd> ktorý súbory zlúči. Návod na použitie získame zadaním príkazu <cmd its:translate="no">man rdiff</cmd>.</p>

</section>

</page>
