~ubuntu-branches/ubuntu/precise/deja-dup/precise

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?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" id="restore-worst-case" xml:lang="fi">
<info>
  <desc>Mitä tehdä, jos et voi palauttaa tiedostojasi</desc>
  <link type="guide" xref="index#restore"/>
</info>

<title>Kun kaikki menee pieleen</title>

<p><app>Déjà Dup</app> 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 <link href="https://launchpad.net/deja-dup/+filebug">bug report</link> but in the meantime, here are some approaches to workaround a misbehaving <app>Déjà Dup</app> and get your data back.</p>

<note><p>This is going to get technical.  If none of this makes sense to you, don’t be afraid to <link xref="support">ask for help</link>.</p></note>

<steps>
  <item><p>Avaa <app>Pääte</app> pikanäppäinyhdistelmällä <keyseq><key>Ctrl</key><key>Alt</key><key>T</key></keyseq>.</p></item>
  <item><p>Create the directory in which you will place your restored files.  This guide will use <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Palautus Duplicityn avulla</title>

<p>On the assumption that <app>Déjà Dup</app> is just not working for you right now, you’re going to use the command line tool <app>duplicity</app> that is used by <app>Déjà Dup</app> behind the scenes to back up and restore your files.</p>

<note style="advanced"><p>Jos haluat enemmän tietoa <app>duplicity</app>sta kuin mitä tässä esitellään, kirjoita päätteeseen <cmd>man duplicity</cmd>.</p></note>

<p>The first thing we’ll try is a simple restore of all your data.  Assuming your files are on an external drive mounted as <file its:translate="no">/media/backup</file> and you chose to encrypt the backup, try this:</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

<p>Jos et salannut varmuuskopiota, lisää <cmd its:translate="no">--no-encryption</cmd> komentoon.</p>

<section id="locations">
<title>Muut varmuuskopiointisijainnit</title>
<p>If you backed up to a remote or cloud server, the syntax you use with <app>duplicity</app> will be different than the external drive example above.  See below for how to connect to your chosen backup location.</p>
<note><p>Muista lisätä <cmd its:translate="no">--no-encryption</cmd> kaikkiin esimerkkikomentoihin, jos varmuuskopiosi ei ole salattu.</p></note>
<p>If <app>duplicity</app> appears to be having trouble connecting to your server, try downloading all the <app>duplicity</app> files yourself to a local folder and following the simpler example above.</p>
<terms>
  <item>
    <title>Amazon S3</title>
    <p>Look up your Amazon S3 access key ID and secret access key and replace instances of <var>ID</var> and <var>SECRET</var> in the example below with those respective values.</p>
    <p>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</p>
    <screen its:translate="no">
export AWS_ACCESS_KEY_ID=<var its:translate="yes">ID</var>
export AWS_SECRET_ACCESS_KEY=<var its:translate="yes">SECRET</var>
duplicity s3+http://deja-dup-auto-<var its:translate="yes">LOWERCASE_ID</var>/<var its:translate="yes">KANSIO</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Rackspace Cloud Files</title>
    <p>Look up your Rackspace username and API key and replace instances of <var>USERNAME</var> and <var>KEY</var> in the example below with those respective values.</p>
    <p>You may have specified a container in which to put the backup files.  In the example below, replace any instance of <var>CONTAINER</var> with that name.</p>
    <screen its:translate="no">
export CLOUDFILES_USERNAME=<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>
export CLOUDFILES_APIKEY=<var its:translate="yes">AVAIN</var>
duplicity cf+http://<var its:translate="yes">SÄILIÖ</var> /tmp/restore</screen>
  </item>
  <item>
    <title>FTP</title>
    <p>Look up your server address, port, username, and password and replace instances of <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var>, and <var>PASSWORD</var> in the example below with those respective values.</p>
    <p>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</p>
    <p>If you chose to not log in with a username, use <var its:translate="no">anonymous</var> as your <var>USERNAME</var> below.</p>
    <screen its:translate="no">
gvfs-mount ftp://<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>@<var its:translate="yes">PALVELIN</var>:<var its:translate="yes">PORTTI</var>/<var its:translate="yes">KANSIO</var>
duplicity --gio ftp://<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>@<var its:translate="yes">PALVELIN</var>:<var its:translate="yes">PORTTI</var>/<var its:translate="yes">KANSIO</var> /tmp/restore</screen>
  </item>
  <item>
    <title>SSH</title>
    <p>Look up your server address, port, username, and password and replace instances of <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var>, and <var>PASSWORD</var> in the example below with those respective values.</p>
    <p>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</p>
    <screen its:translate="no">
gvfs-mount ssh://<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>@<var its:translate="yes">PALVELIN</var>:<var its:translate="yes">PORTTI</var>/<var its:translate="yes">KANSIO</var>
duplicity --gio ssh://<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>@<var its:translate="yes">PALVELIN</var>:<var its:translate="yes">PORTTI</var>/<var its:translate="yes">KANSIO</var> /tmp/restore</screen>
  </item>
  <item>
    <title>WebDAV</title>
    <p>Look up your server address, port, username, and password and replace instances of <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var>, and <var>PASSWORD</var> in the example below with those respective values.</p>
    <p>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</p>
    <p>If you chose to use a secure connection (HTTPS) when backing up, use <var its:translate="no">davs://</var> instead of <var its:translate="no">dav://</var> in the example below.</p>
    <screen its:translate="no">
gvfs-mount dav://<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>@<var its:translate="yes">PALVELIN</var>:<var its:translate="yes">PORTTI</var>/<var its:translate="yes">KANSIO</var>
duplicity --gio dav://<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>@<var its:translate="yes">PALVELIN</var>:<var its:translate="yes">PORTTI</var>/<var its:translate="yes">KANSIO</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Windows-jako</title>
    <p>Look up your server address, username, and password and replace instances of <var>SERVER</var>, <var>USERNAME</var>, and <var>PASSWORD</var> in the example below with those respective values.</p>
    <p>You may have specified a folder in which to put the backup files.  In the example below, replace any instance of <var>FOLDER</var> with that path.</p>
    <p>If you specified a domain for your Windows server, add it to the beginning of <var>USERNAME</var> with a semicolon between them.  For example, <var>domain;username</var>.</p>
    <screen its:translate="no">
gvfs-mount smb://<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>@<var its:translate="yes">PALVELIN</var>/<var its:translate="yes">KANSIO</var>
duplicity --gio smb://<var its:translate="yes">KÄYTTÄJÄTUNNUS</var>@<var its:translate="yes">PALVELIN</var>/<var its:translate="yes">KANSIO</var> /tmp/restore</screen>
  </item>
</terms>
</section>

</section>

<section id="by-hand">
<title>Palautus käsin</title>

<p>If even <app>duplicity</app> 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.</p>

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

<p><app>Duplicity</app> 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.</p>

<p>If you encrypted your backup, first you must decrypt the volume with <cmd its:translate="no">gpg</cmd>.  Say you have <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>Or to do all at once (make sure you have plenty of space!):</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>Now you have either a <file its:translate="no">.difftar</file> or a <file its:translate="no">.difftar.gz</file> volume (depending on whether you had to decrypt it or not).  Use <cmd its:translate="no">tar</cmd> on whichever one you have to extract the individual patch files:</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>Or again, to do all at once:</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p>Now the patch files will be in <file its:translate="no">multivolume_snapshot</file> and <file its:translate="no">snapshot</file> folders.  Each file that spanned multiple volumes will be in <file its:translate="no">multivolume_snapshot</file>. Let’s say you backed up <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>To recover data from incremental backups, use <cmd its:translate="no">rdiff</cmd> to stitch the files together. See <cmd its:translate="no">man rdiff</cmd> for usage.</p>

</section>

</page>