Vad gör du om du inte kan återställa dina filer
Michael Terry

Licensen Creative Commons Erkännande-DelaLika 4.0 Unported

Alexander Mihajlovic
https://launchpad.net/~abxyse
Daniel Nylander
https://launchpad.net/~yeager
Joakim Ganse
https://launchpad.net/~joakim-ganse
Jonatan Nyberg
https://launchpad.net/~jony0008

# När allt går fel

Déjà Dup kan misslyckas. Kanske kraschar det eller ger dig ett fel när du försöker återställa. När du verkligen behöver dina data tillbaka är det sista du vill att råka ut för ett fel. Överväg att skicka in en hjälpförfrågan, men under tiden finns här några metoder för att lösa när Déjà Dup missköter sig och få dina data tillbaka.

Detta kommer att bli tekniskt. Om detta är oförståeligt för dig, var inte rädd för att fråga om hjälp.

Öppna ett Terminal-fönster genom att trycka på Ctrl Alt T.

Skapa katalogen där du ska placera dina återställda filer. Den här guiden kommer att använda /tmp/restore:

    mkdir -p /tmp/restore

# Återställande med Duplicity

Under antagandet att Déjà Dup helt enkelt inte fungerar för dig just nu, kommer du att använda kommandoradsverktyget duplicity som används av Déjà Dup bakom kulisserna för att säkerhetskopiera och återställa dina filer.

Om du vill ha mer information om duplicity än vad som presenteras här, kör man duplicity.

Det första vi ska försöka är en enkel återställning av alla dina data. Förutsatt att dina filer finns på en extern enhet monterad som /media/backup och du valde att kryptera säkerhetskopian, prova detta:

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

Om du inte krypterade säkerhetskopian lägger du till --no-encryption till kommandot.

## Andra säkerhetskopieringsplatser

Om du säkerhetskopierar till en fjärr- eller molnserver kommer syntaxen du använder med duplicity att skilja sig från exemplet med en extern enhet ovan. Se nedan för hur du ansluter till din valda säkerhetskopieringsplats.

Kom ihåg att lägga till --no-encryption till alla exempelkommandon om din säkerhetskopia inte är krypterad.

Om duplicity verkar ha problem med att ansluta till din server, försök hämta alla duplicity-filer själv till en lokal mapp och följ det enklare exemplet ovan.

### FTP

Leta upp din serveradress, port, användarnamn och lösenord och ersätt förekomster av SERVER, PORT, ANVÄNDARNAMN och LÖSENORD i exemplet nedan med dessa respektive värden.

Du kan ha angett en mapp där säkerhetskopiorna ska placeras. I exemplet nedan ersätter du varje förekomst av MAPP med den sökvägen.

Om du väljer att inte logga in med ett användarnamn, använd anonymous som ditt ANVÄNDARNAMN nedan.

    gvfs-mount ftp://ANVÄNDARNAMN@SERVER:PORT/MAPP
    duplicity --gio ftp://ANVÄNDARNAMN@SERVER:PORT/MAPP /tmp/restore

### SSH

Leta upp din serveradress, port, användarnamn och lösenord och ersätt förekomster av SERVER, PORT, ANVÄNDARNAMN och LÖSENORD i exemplet nedan med dessa respektive värden.

Du kan ha angett en mapp där säkerhetskopiorna ska placeras. I exemplet nedan ersätter du varje förekomst av MAPP med den sökvägen.

    gvfs-mount ssh://ANVÄNDARNAMN@SERVER:PORT/MAPP
    duplicity --gio ssh://ANVÄNDARNAMN@SERVER:PORT/MAPP /tmp/restore

### WebDAV

Leta upp din serveradress, port, användarnamn och lösenord och ersätt förekomster av SERVER, PORT, ANVÄNDARNAMN och LÖSENORD i exemplet nedan med dessa respektive värden.

Du kan ha angett en mapp där säkerhetskopiorna ska placeras. I exemplet nedan ersätter du varje förekomst av MAPP med den sökvägen.

Om du väljer att använda en säker anslutning (HTTPS) när du säkerhetskopierar, använd davs:// istället för dav:// i exemplet nedan.

    gvfs-mount dav://ANVÄNDARNAMN@SERVER:PORT/MAPP
    duplicity --gio dav://ANVÄNDARNAMN@SERVER:PORT/MAPP /tmp/restore

### Windows-delning

Leta upp din serveradress, användarnamn och lösenord och ersätt förekomster av SERVER, ANVÄNDARNAMN och LÖSENORD i exemplet nedan med dessa respektive värden.

Du kan ha angett en mapp där säkerhetskopiorna ska placeras. I exemplet nedan ersätter du varje förekomst av MAPP med den sökvägen.

Om du har angett en domän för din Windows-server lägger du till den i början av ANVÄNDARNAMN med ett semikolon mellan dem. Till exempel domän;användarnamn.

    gvfs-mount smb://ANVÄNDARNAMN@SERVER/MAPP
    duplicity --gio smb://ANVÄNDARNAMN@SERVER/MAPP /tmp/restore

# Återställa för hand

Om inte ens duplicity fungerar för dig finns det lite hopp. Säkerhetskopieringsfilformatet är komplicerat och inte lätt att manipulera. Men om du är desperat så är det värt ett försök.

Om du använde en fjärr- eller molnserver för att lagra din säkerhetskopia hämtar du först ner alla filer i duplicity och placerar dem i en mapp på datorn. Ange sedan den mappen i din terminal.

Duplicity lagrar dina data i små bitar som kallas volymer. Vissa volymer tillhör de periodiska fullständiga säkerhetskopiorna ”full” och andra till de inkrementella säkerhetskopiorna ”inc”. Efter att ha börjat med volym 1 av en fullständig volymuppsättning av säkerhetskopior, måste du återställa filer volym efter volym.

Om du krypterade din säkerhetskopia måste du först dekryptera volymen med gpg. Säg att du har duplicity-full.20110127T131352Z.vol1.difftar.gpg:

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

Eller att göra allt på en gång (se till att du har gott om utrymme!):

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

Nu har du antingen en volym med ändelsen .difftar eller .difftar.gz (beroende på om du var tvungen att dekryptera den eller inte). Använd tar på den du har för att extrahera de enskilda patchfilerna:

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

Eller igen, för att göra allt på en gång:

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

Nu kommer patchfilerna att finnas i mapparna multivolume_snapshot och snapshot. Varje fil som spänner över flera volymer kommer att finnas i multivolume_snapshot. Låt oss säga att du säkerhetskopierade /home/jane/essay.txt:

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

För att återställa data från inkrementella säkerhetskopior, använd rdiff för att sy ihop filerna. Se man rdiff för användning.