Čo robiť, ak sa nepodarí obnoviť súbory
Michael Terry

Creative Commons Attribution-Share Alike 4.0 Unported License

Peter Mráz
https://launchpad.net/~etki

# Keď obnova nefunguje

Déjà Dup 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 help request but in the meantime, here are some approaches to workaround a misbehaving Déjà Dup and get your data back.

Toto si vyžaduje technické znalosti. Ak niečomu nebudeme rozumieť, môžeme požiadať o pomoc.

Otvoríme Terminál stlačením klávesovej skratky Ctrl Alt T.

Vytvoríme adresár, do ktorého sa budú ukladať obnovené súbory. V tomto návode použijeme /tmp/restore:

    mkdir -p /tmp/restore

# Obnova pomocou nástroja Duplicity

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

Ak chceme viaci informácií o programe duplicity, spustíme príkaz man duplicity.

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 /media/backup a že sme zálohu pri vytváraní zašifrovali:

    duplicity --gio file:///media/backup /tmp/restore

Ak sme zálohu nezašifrovali, pridáme do príkazu voľbu --no-encryption .

## Ostatné umiestnenia záloh

Ak sme zálohu vytvárali na vzdialený server alebo do mraku, syntax príkazu duplicity 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.

Ak sme pri vytváraní zálohy nepoužili šifrovanie, je potrebné ku každému z nasledujúcich príkazov pridať voľbu --no-encryption.

Ak sa zdá, že má nástroj duplicity 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.

### FTP

Zistíme adresu servera, port, používateľské meno a heslo v nasledujúcom príklade nahradíme položky SERVER, PORT, POUŽÍVATEĽSKÉ_MENO a HESLO získanými hodnotami.

Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu PRIEČINOK zistenou cestou.

Ak ftp server vyžaduje anonymný prístup, môžeme hodnotu POUŽÍVATEĽSKÉ_MENO nahradiť hodnotou anonymous.

    gvfs-mount ftp://POUŽÍVATEĽSKÉ_MENO@SERVER:PORT/PRIEČINOK
    duplicity --gio ftp://POUŽÍVATEĽSKÉ_MENO@SERVER:PORT/PRIEČINOK /tmp/restore

### SSH

Zistíme adresu servera, port, používateľské meno a heslo v nasledujúcom príklade nahradíme položky SERVER, PORT, POUŽÍVATEĽSKÉ_MENO a HESLO získanými hodnotami.

Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu PRIEČINOK zistenou cestou.

    gvfs-mount ssh://POUŽÍVATEĽSKÉ_MENO@SERVER:PORT/PRIEČINOK
    duplicity --gio ssh://POUŽÍVATEĽSKÉ_MENO@SERVER:PORT/PRIEČINOK /tmp/restore

### WebDAV

Zistíme adresu servera, port, používateľské meno a heslo v nasledujúcom príklade nahradíme položky SERVER, PORT, POUŽÍVATEĽSKÉ_MENO a HESLO získanými hodnotami.

Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu PRIEČINOK zistenou cestou.

Ak sme sa rozhodli použiť zabezpečené spojenie (HTTPS) pri zálohovaní, použijeme v nasledujúcom príklade davs:// namiesto dav://.

    gvfs-mount dav://POUŽÍVATEĽSKÉ_MENO@SERVER:PORT/PRIEČINOK
    duplicity --gio dav://POUŽÍVATEĽSKÉ_MENO@SERVER:PORT/PRIEČINOK /tmp/restore

### Sieťový disk Windows

Zistíme adresu servera, port, používateľské meno a heslo v nasledujúcom príklade nahradíme položky SERVER, POUŽÍVATEĽSKÉ_MENO a HESLO získanými hodnotami.

Zistíme do akého priečinka sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu PRIEČINOK zistenou cestou.

Ak je server Windows správca domény, pridáme jej názov na začiatok hodnoty POUŽÍVATEĽSKÉ_MENO a oddelíme ju bodkočiarkou v tvare doména;používateľské_meno.

    gvfs-mount smb://POUŽÍVATEĽSKÉ_MENO@SERVER/PRIEČINOK
    duplicity --gio smb://POUŽÍVATEĽSKÉ_MENO@SERVER/PRIEČINOK /tmp/restore

# Ručné obnovenie

Ak ani duplicity 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.

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.

Program Duplicity 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.

Ak sme zálohu zašifrovali, naskôr musíme zväzky dešifrovať pomocou nástroja gpg. Ako príklad použijeme súbor duplicity-full.20110127T131352Z.vol1.difftar.gpg:

    gpg --output duplicity-full.20110127T131352Z.vol1.difftar --decrypt duplicity-full.20110127T131352Z.vol1.difftar.gpg

Alebo ich môžeme dešifrovať všetky naraz (uistíme sa či máme dostatok miesta!):

    gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg

Teraz (ak sa dešifrovanie podarilo) získame zväzky s príponou .difftar alebo .difftar.gz. Každý z nich jednotlivo rozbalíme pomocou nástroja tar:

    tar xf duplicity-full.20110127T131352Z.vol1.difftar

Alebo ich opäť môžeme robaliť všetky naraz:

    for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done

Rozbalené súbory sa teraz budú nachádzať v priečinkoch multivolume_snapshot a snapshot. Každý súbor, ktorý bol rozdelený do viacerých zväzkov bude v multivolume_snapshot. Takto napríklad spojíme rozdelený súbor /home/jane/essay.txt:

    cd multivolume_snapshot/home/jane/essay.txt
    cat * > essay.txt

Keď chceme obnoviť údaje z prídavných záloh, použijeme na to nástroj rdiff ktorý súbory zlúči. Návod na použitie získame zadaním príkazu man rdiff.