<?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="bg">
<info>
  <desc>Какво да направите, ако не можете да възстановите файловете си</desc>
  <link type="guide" xref="index#restore"/>
</info>

<title>Когато всичко завършва зле</title>

<p><app>Déjà Dup</app> може да се провали. Може да спре или да Ви даде някакво съобщение за грешка, когато се опитвате да възстановявате. Когато действително се нуждаете да си върнете данните, последното нещо, с което бихте искали да се занимавате е да си имате работа с бъг. Помислете дали да не попълните <link href="https://launchpad.net/deja-dup/+filebug">рапорт за бъг</link>, но междувременно, ето някои подходи за заобикаляне на проблема при лошо поведение на <app>Déjà Dup</app> за да си върнете данните.</p>

<note><p>Тук вече е за техничари. Ако не разбирате нищо от това,  не се притеснявайте да <link xref="support">помолите за помощ</link>.</p></note>

<steps>
  <item><p>Отворете прозорец с <app>Terminal</app> като натиснете <keyseq><key>Ctrl</key><key>Alt</key><key>T</key></keyseq>.</p></item>
  <item><p>Създайте директорията, в която ще поставите възстановените от Вас файлове. В това ръководство ще ползваме <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Възстановяване чрез Duplicity</title>

<p>Ако предположим, че в момента <app>Déjà Dup</app> Ви създава проблем, ще трябва от командния ред да използвате инструмента <app>duplicity</app>, който <app>Déjà Dup</app> използва за работата си зад прозорците, които виждате, при архивирането и възстановяването на Вашите файлове.</p>

<note style="advanced"><p>Ако се нуждаете от повече информация за <app>duplicity</app> от предоставената тук, стартирайте <cmd>man duplicity</cmd>.</p></note>

<p>Първото нещо, което ще опитаме, е обикновено възстановяване на Всичките Ви данни. Предполагайки, че файловете Ви са на външен диск, монтиран като <file its:translate="no">/media/backup</file> и сте избрали криптиране на резервното копие, пробвайте така:</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

<p>Ако не сте криптирали резервното копие, добавете към командата <cmd its:translate="no">--no-encryption</cmd> .</p>

<section id="locations">
<title>Други местоположения на резервното копие</title>
<p>Ако сте архивирали върху отдалечен сървър или облачна услуга, командата за стартиране на <app>duplicity</app> ще е различна от тази, за външен диск в примера по-горе. Вижте по-долу за това, как да се свържете към избраното от Вас местоположение на резервни копия.</p>
<note><p>Не забравяйте да добавяте <cmd its:translate="no">--no-encryption</cmd> към всяка от примерните команди, ако архивът Ви не е криптиран.</p></note>
<p>Ако се окаже, че <app>duplicity</app> не успява да се свърже към сървъра Ви, пробвайте да свалите всички файлове на <app>duplicity</app> сами в локална папка и да продължите с по-опростения пример по-горе.</p>
<terms>
  <item>
    <title>Amazon S3</title>
    <p>Намерете Вашите ключ за достъп ID и секретния ключ за достъп за Amazon S3 и ги поставете на съответните им места <var>ID</var> и <var>SECRET</var> в примера по-долу.</p>
    <p>Може да трябва да зададете папката, в която да се поставят архивните файлове. В примера по-долу, заменете навсякъде <var>FOLDER</var> с този път.</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">Секрет</var>
duplicity s3+http://deja-dup-auto-<var its:translate="yes">МалкиБукви_ID</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Файлове в облака на Rackspace</title>
    <p>Намерете Вашето потребителско име и API ключ за Rackspace и заменете съответно <var>USERNAME</var> и <var>KEY</var> там, където се появяват в примера по-долу.</p>
    <p>Може да трябва да зададете контейнер, в който да се  поставят архивните файлове. В примера по-долу, заменете където се появява <var>CONTAINER</var>, с това име.</p>
    <screen its:translate="no">
export CLOUDFILES_USERNAME=<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>
export CLOUDFILES_APIKEY=<var its:translate="yes">КЛЮЧ</var>
duplicity cf+http://<var its:translate="yes">КОНТЕЙНЕР</var> /tmp/restore</screen>
  </item>
  <item>
    <title>FTP</title>
    <p>Намерете адреса на Вашия сървър, порт, потребителско име и парола, и ги поставете на съответните места за <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var> и <var>PASSWORD</var> в примера по-долу.</p>
    <p>Може да трябва да зададете папката, в която да се поставят архивните файлове. В примера по-долу, заменете навсякъде <var>FOLDER</var> с този път.</p>
    <p>Ако изберете да не влизате с потребителско име, ползвайте <var its:translate="no">anonymous</var> като Ваше <var>USERNAME</var> по-долу.</p>
    <screen its:translate="no">
gvfs-mount ftp://<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>@<var its:translate="yes">СЪРВЪР</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var>
duplicity --gio ftp://<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>@<var its:translate="yes">СЪРВЪР</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
  <item>
    <title>SSH</title>
    <p>Намерете адреса на Вашия сървър, порт, потребителско име и парола, и ги поставете на съответните места за <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var> и <var>PASSWORD</var> в примера по-долу.</p>
    <p>Може да трябва да зададете папката, в която да се поставят архивните файлове. В примера по-долу, заменете навсякъде <var>FOLDER</var> с този път.</p>
    <screen its:translate="no">
gvfs-mount ssh://<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>@<var its:translate="yes">СЪРВЪР</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var>
duplicity --gio ssh://<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>@<var its:translate="yes">СЪРВЪР</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
  <item>
    <title>WebDAV</title>
    <p>Намерете адреса на Вашия сървър, порт, потребителско име и парола, и ги поставете на съответните места за <var>SERVER</var>, <var>PORT</var>, <var>USERNAME</var> и <var>PASSWORD</var> в примера по-долу.</p>
    <p>Може да трябва да зададете папката, в която да се поставят архивните файлове. В примера по-долу, заменете навсякъде <var>FOLDER</var> с този път.</p>
    <p>Ако изберете да ползвате сигурна връзка (HTTPS), когато архивирате, ползвайте <var its:translate="no">davs://</var> вместо <var its:translate="no">dav://</var> в примера по-долу.</p>
    <screen its:translate="no">
gvfs-mount dav://<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>@<var its:translate="yes">СЪРВЪР</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var>
duplicity --gio dav://<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>@<var its:translate="yes">СЪРВЪР</var>:<var its:translate="yes">ПОРТ</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Споделено Windows устройство</title>
    <p>Намерете Вашите адрес на сървър, потребителско име и парола и заменете съответно <var>SERVER</var>, <var>USERNAME</var> и <var>PASSWORD</var>, където се появяват в примера по-долу.</p>
    <p>Може да трябва да зададете папката, в която да се поставят архивните файлове. В примера по-долу, заменете навсякъде <var>FOLDER</var> с този път.</p>
    <p>Ако сте задали домейн за Вашия Windows сървър, добавете го пред <var>USERNAME</var> с двоеточие между тях. Например, <var>domain;username</var>.</p>
    <screen its:translate="no">
gvfs-mount smb://<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>@<var its:translate="yes">СЪРВЪР</var>/<var its:translate="yes">ПАПКА</var>
duplicity --gio smb://<var its:translate="yes">ПОТРЕБИТЕЛСКО ИМЕ</var>@<var its:translate="yes">СЪРВЪР</var>/<var its:translate="yes">ПАПКА</var> /tmp/restore</screen>
  </item>
</terms>
</section>

</section>

<section id="by-hand">
<title>Ръчно възстановяване</title>

<p>Ако и <app>duplicity</app> не Ви свърши работа, все още има някаква надежда. Форматът на архивните файлове е сложен и труден за обработка. Но ако сте на прага на отчаянието, струва си да опитате.</p>

<p>Ако сте използвали отдалечен сървър или облачна услуга за съхранение на резервните Ви копия, първо свалете всичките <app>duplicity</app> файлове и ги поставете в папка на Вашия компютър. След това в терминал, влезте в тази папка.</p>

<p><app>Duplicity</app> записва данните Ви в малки парчета, наречени томове. Някои томове принадлежат към периодичните ‘пълни’ или свежи архиви, а други към ‘inc’ или последващи архиви. Започвайки с пълен комплект от томове архиви с том 1, Вие ще трябва да възстановите файловете том по том.</p>

<p>Ако сте криптирали Вашето резервно копие, първо трябва да декриптирате тома с <cmd its:translate="no">gpg</cmd>. Да речем, че имате <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>Или за да направите всичко наведнъж (убедете се, че имате предостатъчно пространство!):</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>Сега Вие имате или <file its:translate="no">.difftar</file> или <file its:translate="no">.difftar.gz</file> том (в зависимост от това дали трябва да го декриптирате или не). Използвайте <cmd its:translate="no">tar</cmd> върху който имате за да извлечете отделните patch файлове:</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>Или отново, за да направите всичко наведнъж:</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p>Сега patch файловете ще са в <file its:translate="no">multivolume_snapshot</file> и <file its:translate="no">snapshot</file> папки. Всеки файл, който обхваща няколко тома ще бъде в <file its:translate="no">multivolume_snapshot</file>. Да предположим, че сте архивирали <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>За да възстановите данни от последователни (incremental) архиви, използвайте <cmd its:translate="no">rdiff</cmd> да зашиете файловете заедно. Вижте <cmd its:translate="no">man rdiff</cmd> за начина на употреба.</p>

</section>

</page>
