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

# Keď obnova nefunguje

Déjà Dup 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 hlásenia o chybe, no zatiaľ môžeme vyskúšať ďalšie postupy ako opraviť nefunkčný Déjà Dup a získať svoje údaje späť.

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.

### Amazon S3

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 IDENTIFIKÁTOR a TAJNÝ_KĽÚČ 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.

    export AWS_ACCESS_KEY_ID=IDENTIFIKÁTOR
    export AWS_SECRET_ACCESS_KEY=TAJNÝ_KĽÚČ
    duplicity s3+http://deja-dup-auto-IDENTIFIKÁTOR_MALÝMI_PÍSMENAMI/PRIEČINOK /tmp/restore

### Rackspace Cloud Files

Zistíme používateľské meno a API kľúč k Rackspace a v nasledujúcom príklade nahradíme položky POUŽÍVATEĽSKÉ_MENO a KĽÚČ získanými hodnotami.

Zistíme do akého kontajnera sme uložili zálohu. V nasledujúcom príklade nahradíme hodnotu KONTAJNERzistenou hodnotou.

    export CLOUDFILES_USERNAME=POUŽÍVATEĽSKÉ_MENO
    export CLOUDFILES_APIKEY=KĽÚČ
    duplicity cf+http://KONTAJNER /tmp/restore

### 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.