<?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" style="task" id="restore-worst-case" xml:lang="es">
<info>
  <desc>Qué hacer si no puede restaurar sus archivos</desc>
  <link type="guide" xref="index#restore"/>
</info>

<title>Cuando todo va mal</title>

<p><app>Déjà Dup</app> puede fallar. Quizás se cuelgue o le de un error al tratar de restaurar. Cuando en verdad necesite restaurar sus archivos, lo último que necesita es un error. Considere informar de <link href="https://launchpad.net/deja-dup/+filebug">un error</link> pero mientras tanto, aquí tiene algunos medios para solucionar un mal comportamiento de <app>Déjà Dup</app> y recuperar sus archivos.</p>

<note><p>Lo que sigue podría ser de nivel técnico. Si no lo entiende, no dude en <link xref="support">pedir ayuda</link>.</p></note>

<steps>
  <item><p>Abra una ventana de <app>Terminal</app> pulsando <keyseq><key>Ctrl</key><key>Alt</key><key>T</key></keyseq>.</p></item>
  <item><p>Cree el directorio en el que ubicará sus archivos restaurados. Esta guía usará <file its:translate="no">/tmp/restore</file>:</p>
<screen its:translate="no">mkdir -p /tmp/restore</screen></item>
</steps>

<section id="duplicity">
<title>Restaurar con Duplicity</title>

<p>Asumiendo que  <app>Déjà Dup</app> no está funcionando en este momento, usará la herramienta por línea de órdenes <app>duplicity</app> que es usada por <app>Déjà Dup</app> internamente para respaldar y restaurar sus datos.</p>

<note style="advanced"><p>Si quiere más información sobre <app>duplicity</app> que la que hay aquí, ejecute <cmd>man duplicity</cmd>.</p></note>

<p>Lo primero que intentaremos es una restauración simple de todos sus datos. Suponiendo que sus archivos esten en una unidad externa montada como <file its:translate="no">/media/backup</file> y que eligió cifrar su respaldo, intente esto:</p>
<screen its:translate="no">duplicity --gio file:///media/backup /tmp/restore</screen>

<p>Si no cifró el respaldo, añada <cmd its:translate="no">--no-encryption</cmd> a la orden.</p>

<section id="locations">
<title>Otras ubicaciones del respaldo</title>
<p>Si respaldó sus datos en un servidor remoto o un servidor en la nube, la sintaxis que debe usar con <app>duplicity</app> será diferente a la del ejemplo anterior del disco duro externo. Mire debajo para ver cómo conectarse a la ubicación de respaldo que ha elegido.</p>
<note><p>Recuerde añadir <cmd its:translate="no">--no-encryption</cmd> a cualquier comando de ejemplo si su respaldo no se encuentra cifrado.</p></note>
<p>Si <app>duplicity</app> tiene problemas para conectarse a su servidor, pruebe a descargar todos los archivos de <app>duplicity</app> manualmente a una carpeta local y siga el ejemplo que se detalla arriba.</p>
<terms>
  <item>
    <title>Amazon S3</title>
    <p>Busque su ID de acceso y clave secreta de Amazon S3 y reemplace <var>ID</var> y <var>SECRETO</var> en el siguiente ejemplo con los valores correspondientes.</p>
    <p>Es posible que haya especificado una carpeta donde colocar los archivos de respaldo. En el ejemplo siguiente, reemplace <var>CARPETA</var> con esa ruta.</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">SECRETO</var>
duplicity s3+http://deja-dup-auto-<var its:translate="yes">ID_MINÚSCULAS</var>/<var its:translate="yes">CARPETA</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Archivos en la nube de Rackspace</title>
    <p>Busque su nombre de usuario y clave API de Rackspace y cambie los valores de <var>USUARIO</var> y <var>CLAVE</var> en el ejemplo de abajo con sus respectivos valores.</p>
    <p>Es posible que haya especificado un contenedor en el que colocar los archivos de respaldo. En el siguiente ejemplo, reemplace <var>CONTENEDOR</var> con ese nombre.</p>
    <screen its:translate="no">
export CLOUDFILES_USERNAME=<var its:translate="yes">USUARIO</var>
export CLOUDFILES_APIKEY=<var its:translate="yes">CLAVE</var>
duplicity cf+http://<var its:translate="yes">CONTENEDOR</var> /tmp/restore</screen>
  </item>
  <item>
    <title>FTP</title>
    <p>Busque la dirección de su servidor, puerto, usuario y contraseña y reemplace <var>SERVIDOR</var>, <var>PUERTO</var>, <var>USUARIO</var> y <var>CONTRASEÑA</var> en el siguiente ejemplo con los valores correspondientes.</p>
    <p>Es posible que haya especificado una carpeta donde colocar los archivos de respaldo. En el ejemplo siguiente, reemplace <var>CARPETA</var> con esa ruta.</p>
    <p>Si escoge no identificarse con un nombre de usuario, use <var its:translate="no">anonymous</var> como su <var>USUARIO</var> debajo.</p>
    <screen its:translate="no">
gvfs-mount ftp://<var its:translate="yes">USUARIO</var>@<var its:translate="yes">SERVIDOR</var>:<var its:translate="yes">PUERTO</var>/<var its:translate="yes">CARPETA</var>
duplicity --gio ftp://<var its:translate="yes">USUARIO</var>@<var its:translate="yes">SERVIDOR</var>:<var its:translate="yes">PUERTO</var>/<var its:translate="yes">CARPETA</var> /tmp/restore</screen>
  </item>
  <item>
    <title>SSH</title>
    <p>Busque la dirección de su servidor, puerto, usuario y contraseña y reemplace <var>SERVIDOR</var>, <var>PUERTO</var>, <var>USUARIO</var> y <var>CONTRASEÑA</var> en el siguiente ejemplo con los valores correspondientes.</p>
    <p>Es posible que haya especificado una carpeta donde colocar los archivos de respaldo. En el ejemplo siguiente, reemplace <var>CARPETA</var> con esa ruta.</p>
    <screen its:translate="no">
gvfs-mount ssh://<var its:translate="yes">USUARIO</var>@<var its:translate="yes">SERVIDOR</var>:<var its:translate="yes">PUERTO</var>/<var its:translate="yes">CARPETA</var>
duplicity --gio ssh://<var its:translate="yes">USUARIO</var>@<var its:translate="yes">SERVIDOR</var>:<var its:translate="yes">PUERTO</var>/<var its:translate="yes">CARPETA</var> /tmp/restore</screen>
  </item>
  <item>
    <title>WebDAV</title>
    <p>Busque la dirección de su servidor, puerto, usuario y contraseña y reemplace <var>SERVIDOR</var>, <var>PUERTO</var>, <var>USUARIO</var> y <var>CONTRASEÑA</var> en el siguiente ejemplo con los valores correspondientes.</p>
    <p>Es posible que haya especificado una carpeta donde colocar los archivos de respaldo. En el ejemplo siguiente, reemplace <var>CARPETA</var> con esa ruta.</p>
    <p>Si decide usar una conexión segura (HTTPS) mientras hace un respaldo, use <var its:translate="no">davs://</var> en vez de <var its:translate="no">dav://</var> en el siguiente ejemplo.</p>
    <screen its:translate="no">
gvfs-mount dav://<var its:translate="yes">USUARIO</var>@<var its:translate="yes">SERVIDOR</var>:<var its:translate="yes">PUERTO</var>/<var its:translate="yes">CARPETA</var>
duplicity --gio dav://<var its:translate="yes">USUARIO</var>@<var its:translate="yes">SERVIDOR</var>:<var its:translate="yes">PUERTO</var>/<var its:translate="yes">CARPETA</var> /tmp/restore</screen>
  </item>
  <item>
    <title>Compartido por Windows</title>
    <p>Busque la dirección de su servidor, puerto, usuario y contraseña y reemplace <var>SERVIDOR</var>, <var>PUERTO</var>, <var>USUARIO</var> y <var>CONTRASEÑA</var> en el siguiente ejemplo con los valores correspondientes.</p>
    <p>Es posible que haya especificado una carpeta donde colocar los archivos de respaldo. En el ejemplo siguiente, reemplace <var>CARPETA</var> con esa ruta.</p>
    <p>Si especificó un dominio para su servidor de Windows, añádalo al principio de <var>USUARIO</var> con un punto y coma entre ellos. Por ejemplo, <var>dominio;usuario</var>.</p>
    <screen its:translate="no">
gvfs-mount smb://<var its:translate="yes">USUARIO</var>@<var its:translate="yes">SERVIDOR</var>/<var its:translate="yes">CARPETA</var>
duplicity --gio smb://<var its:translate="yes">USUARIO</var>@<var its:translate="yes">SERVIDOR</var>/<var its:translate="yes">CARPETA</var> /tmp/restore</screen>
  </item>
</terms>
</section>

</section>

<section id="by-hand">
<title>Restaurar a mano</title>

<p>Si ni siquiera <app>duplicity</app> funciona, quedan pocas esperanzas. El formato del respaldo es complicado y difícilmente manipulable. Pero si está desesperado, merece la pena intentarlo.</p>

<p>Si usó un servidor remoto o un servidor en la nube para guardar su copia de seguridad, primero descargue todos los archivos de <app>duplicity</app> a una carpeta de su equipo. Luego entre en dicha carpeta a través de su terminal.</p>

<p><app>Duplicity</app> guarda sus datos en pequeños trozos llamados volúmenes. Algunos volúmenes pertenecen a los respaldos  «comp» completos o nuevos y otros a los respaldos «inc» o incrementales. Para comenzar con un conjunto de volúmenes de respaldo completo en el volumen 1, necesitará restaurar archivos de volumen a volumen.</p>

<p>Si cifró su respaldo, primero debe descifrar el volumen con <cmd its:translate="no">gpg</cmd>. Supongamos que tiene <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>O haga todo a la vez (asegúrese de contar con espacio en disco suficiente):</p>
<screen its:translate="no">gpg --multifile --decrypt duplicity-full.20110127T131352Z.*.difftar.gpg</screen>

<p>Ahora tiene un volumen <file its:translate="no">.difftar</file> o <file its:translate="no">.difftar.gz</file> (dependiendo de si tuvo que decifrar o no). Use <cmd its:translate="no">tar</cmd> en los que tenga que extraer los archivos de parches individuales:</p>
<screen its:translate="no">tar xf duplicity-full.20110127T131352Z.vol1.difftar</screen>

<p>O de nuevo, para hacerlo todo a la vez:</p>
<screen its:translate="no">for t in duplicity-full.20110127T131352Z.*.difftar; do tar xf $t; done</screen>

<p>Ahora los parches se encontrarán en las carpetas <file its:translate="no">multivolume_snapshot</file> y <file its:translate="no">snapshot</file>. Cada archivo que abarque múltiples volúmenes se encontrará en <file its:translate="no">multivolume_snapshot</file>. Digamos que respaldó en <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>Para recuperar sus datos desde respaldos incrementales, use <cmd its:translate="no">rdiff</cmd> para combinar los archivos. Vea <cmd its:translate="no">man rdiff</cmd> para su uso.</p>

</section>

</page>
