Mitä tehdä, jos et voi palauttaa tiedostojasi
Michael Terry

Creative Commons Attribution-Share Alike 4.0 Unported License

Aleksi Kinnunen
https://launchpad.net/~aleksi-kinnunen
Jiri Grönroos
https://launchpad.net/~jiri-gronroos
Jussi Aalto
https://launchpad.net/~jtaalto-deactivatedaccount
Masa
https://launchpad.net/~masa-diskotek
Sami Jaktholm
https://launchpad.net/~sjakthol
T Kortehisto
https://launchpad.net/~kortehisto
Timo Jyrinki
https://launchpad.net/~timo-jyrinki

# Kun kaikki menee pieleen

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.

Nämä ohjeet ovat hyvin teknisiä. Jos et ymmärrä näitä ohjeita, älä pelkää pyytää apua.

Avaa Pääte pikanäppäinyhdistelmällä Ctrl Alt T.

Luo kansio, johon palautetut tiedostot asetetaan. Tämä opas käyttää kansiota /tmp/restore:

    mkdir -p /tmp/restore

# Palautus Duplicityn avulla

Jos oletetaan, että Déjà Dup ei toimi juuri nyt, kokeillaan duplicity-nimisen komentorivityökalun käyttöä. Duplicity hoitaa Déjà Dupin kulissien takana kaikki varmuuskopioinnit ja palautukset.

Jos haluat enemmän tietoa duplicitysta kuin mitä tässä esitellään, kirjoita päätteeseen man duplicity.

Yritetään aluksi yksinkertaista keinoa palauttaa kaikki tiedostot. Oletetaan, että tiedostot ovat salatulla ulkoisella levyasemalla, joka on liitetty polkuun /media/backup. Kokeile seuraavaa:

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

Jos et salannut varmuuskopiota, lisää --no-encryption komentoon.

## Muut varmuuskopiointisijainnit

Jos varmuuskopiot sijaitsevat pilvipalvelussa tai etäpalvelimella, duplicityn komento eroaa yllä olevasta ulkoisen kiintolevyn esimerkistä. Alla kerrotaan tavoista, joilla voit yhdistää valitsemaasi etäpalvelimeen tai pilvipalveluun.

Muista lisätä --no-encryption kaikkiin esimerkkikomentoihin, jos varmuuskopiosi ei ole salattu.

Jos duplicity ei saa yhteyttä palvelimeen, lataa kaikki duplicityn tiedostot paikalliseen kansioon ja käytä yllä olevaa ulkoiselta kiintolevyltä palauttamisen esimerkkiä tiedostojen palauttamiseen.

### FTP

Look up your server address, port, username, and password and replace instances of SERVER, PORT, USERNAME, and PASSWORD in the example below with those respective values.

You may have specified a folder in which to put the backup files. In the example below, replace any instance of FOLDER with that path.

If you chose to not log in with a username, use anonymous as your USERNAME below.

    gvfs-mount ftp://KÄYTTÄJÄTUNNUS@PALVELIN:PORTTI/KANSIO
    duplicity --gio ftp://KÄYTTÄJÄTUNNUS@PALVELIN:PORTTI/KANSIO /tmp/restore

### SSH

Look up your server address, port, username, and password and replace instances of SERVER, PORT, USERNAME, and PASSWORD in the example below with those respective values.

You may have specified a folder in which to put the backup files. In the example below, replace any instance of FOLDER with that path.

    gvfs-mount ssh://KÄYTTÄJÄTUNNUS@PALVELIN:PORTTI/KANSIO
    duplicity --gio ssh://KÄYTTÄJÄTUNNUS@PALVELIN:PORTTI/KANSIO /tmp/restore

### WebDAV

Look up your server address, port, username, and password and replace instances of SERVER, PORT, USERNAME, and PASSWORD in the example below with those respective values.

You may have specified a folder in which to put the backup files. In the example below, replace any instance of FOLDER with that path.

If you chose to use a secure connection (HTTPS) when backing up, use davs:// instead of dav:// in the example below.

    gvfs-mount dav://KÄYTTÄJÄTUNNUS@PALVELIN:PORTTI/KANSIO
    duplicity --gio dav://KÄYTTÄJÄTUNNUS@PALVELIN:PORTTI/KANSIO /tmp/restore

### Windows-jako

Look up your server address, username, and password and replace instances of SERVER, USERNAME, and PASSWORD in the example below with those respective values.

You may have specified a folder in which to put the backup files. In the example below, replace any instance of FOLDER with that path.

If you specified a domain for your Windows server, add it to the beginning of USERNAME with a semicolon between them. For example, domain;username.

    gvfs-mount smb://KÄYTTÄJÄTUNNUS@PALVELIN/KANSIO
    duplicity --gio smb://KÄYTTÄJÄTUNNUS@PALVELIN/KANSIO /tmp/restore

# Palautus käsin

If even duplicity isn’t working for you, there may be little hope. The backup file format is complicated and not easily manipulated. But if you’re desperate, it’s worth a try.

If you used a remote or cloud server to store your backup, first download all the duplicity files and place them in a folder on your computer. Then enter that folder in your terminal.

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

If you encrypted your backup, first you must decrypt the volume with gpg. Say you have duplicity-full.20110127T131352Z.vol1.difftar.gpg:

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

Or to do all at once (make sure you have plenty of space!):

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

Now you have either a .difftar or a .difftar.gz volume (depending on whether you had to decrypt it or not). Use tar on whichever one you have to extract the individual patch files:

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

Or again, to do all at once:

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

Now the patch files will be in multivolume_snapshot and snapshot folders. Each file that spanned multiple volumes will be in multivolume_snapshot. Let’s say you backed up /home/jane/essay.txt:

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

To recover data from incremental backups, use rdiff to stitch the files together. See man rdiff for usage.