O que fazer se você não conseguir restaurar seus arquivos

# Quando tudo dá errado

O Déjà Dup pode falhar. Pode ser que ele trave ou dê erro quando quando você tentar fazer uma restauração. Quando você realmente precisar dos seus arquivos de volta, a última coisa que você quer é lidar com um erro. Considere preencher um relatório de erros, entretanto, eis algumas abordagens para solucionar um Déjà Dup mal comportado e obter os seus dados de volta.

Isto passará a apresentar uma linguagem técnica. Se nada disto fizer sentido para você, não tenha medo de pedir ajuda.

Abra uma janela do Terminal, pressionando Ctrl Alt T.

Crie o diretório em que você colocará os seus arquivos restaurados. Este guia utilizará /tmp/restore:

    mkdir -p /tmp/restore

# Restaurando com o duplicity

Assumindo que neste momento o Déjà Dup não esteja funcionando para você, você terá de usar a ferramenta de linha de comando duplicity, que é empregada pelo Déjà Dup por trás dos bastidores para fazer cópias de segurança e restaurar os seus arquivos.

Se você quiser mais informações sobre o duplicity do que as foram apresentadas aqui, execute man duplicity.

A primeira coisa que tentaremos é uma restauração simples de todos os seus dados. Assumindo que os seus arquivos estão em um drive externo montado como /media/backup, e que você optou por criptografar a cópia de segurança, tente o seguinte:

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

Se você não criptografou a cópia de segurança, acrescente --no-encryption ao comando.

## Outros locais de cópia de segurança

Se você fez uma cópia de segurança em um servidor remoto ou na nuvem, a sintaxe usada com o duplicity será diferente do exemplo acima, em que se utilizou um disco rígido externo. Veja abaixo como se conectar ao local de sua cópia de segurança escolhido.

Lembre-se de acrescentar --no-encryption a quaisquer comandos dos exemplos, caso a cópia de segurança não seja criptografada.

Se o duplicity aparenta ter problemas para se conectar ao seu servidor, tente baixar você próprio todos os arquivos do duplicity para uma pasta local e seguir o mais simples exemplo acima.

### Amazon S3

Consulte sua chave ID de acesso ao Amazon S3 e a chave de acesso secreta e troque as instâncias de ID e SECRET no exemplo abaixo com os respectivos valores.

Você pode ter especificado uma pasta na qual colocar os arquivos da cópia de segurança. No exemplo abaixo, troque qualquer instância de FOLDER com aquele caminho.

    export AWS_ACCESS_KEY_ID=ID
    export AWS_SECRET_ACCESS_KEY=SEGREDO
    duplicity s3+http://deja-dup-auto-ID_MINÚSCULA/PASTA /tmp/restore

### Arquivos nas nuvens do Rackspace

Consulte seu nome de usuário no Rackspace e a chave API, e troque as instâncias de USERNAME e KEY no exemplo abaixo com os respectivos valores.

Você deve ter especificado um contêiner para colocar os arquivos da cópia de segurança. No exemplo abaixo, troque qualquer instância de CONTAINER com o nome especificado.

    export CLOUDFILES_USERNAME=NOME_DE_USUÁRIO
    export CLOUDFILES_APIKEY=CHAVE
    duplicity cf+http://CONTÊINER /tmp/restore

### FTP

Procure o seu endereço de servidor, porta, nome de usuário e senha e substitua as instâncias de SERVIDOR, PORTA, NOME_DE_USUÁRIO e SENHA no exemplo abaixo com os seus respectivos valores.

Você pode ter especificado uma pasta na qual colocar os arquivos da cópia de segurança. No exemplo abaixo, troque qualquer instância de FOLDER com aquele caminho.

Se você optou por não entrar com um nome de usuário, utilize abaixo anonymous como o seu NOME_DE_USUÁRIO.

    gvfs-mount ftp://NOME_DE_USUÁRIO@SERVIDOR:PORTA/PASTA
    duplicity --gio ftp://NOME_DE_USUÁRIO@SERVIDOR:PORTA/PASTA /tmp/restore

### SSH

Procure o seu endereço de servidor, porta, nome de usuário e senha e substitua as instâncias de SERVIDOR, PORTA, NOME_DE_USUÁRIO e SENHA no exemplo abaixo com os seus respectivos valores.

Você pode ter especificado uma pasta na qual colocar os arquivos da cópia de segurança. No exemplo abaixo, troque qualquer instância de FOLDER com aquele caminho.

    gvfs-mount ssh://NOME_DE_USUÁRIO@SERVIDOR:PORTA/PASTA
    duplicity --gio ssh://NOME_DE_USUÁRIO@SERVIDOR:PORTA/PASTA /tmp/restore

### WebDAV

Procure o seu endereço de servidor, porta, nome de usuário e senha e substitua as instâncias de SERVIDOR, PORTA, NOME_DE_USUÁRIO e SENHA no exemplo abaixo com os seus respectivos valores.

Você pode ter especificado uma pasta na qual colocar os arquivos da cópia de segurança. No exemplo abaixo, troque qualquer instância de FOLDER com aquele caminho.

Se você optou por usar uma conexão segura (HTTPS) ao fazer a cópia de segurança, utilize no exemplo abaixo davs:// em vez de dav://.

    gvfs-mount dav://NOME_DE_USUÁRIO@SERVIDOR:PORTA/PASTA
    duplicity --gio dav://NOME_DE_USUÁRIO@SERVIDOR:PORTA/PASTA /tmp/restore

### Windows Share

Consulte o seu endereço do servidor, nome de usuário e senha, e troque, no exemplo abaixo, as instâncias de SERVIDOR, NOME_DE_USUÁRIO, e SENHA pelos respectivos valores.

Você pode ter especificado uma pasta na qual colocar os arquivos da cópia de segurança. No exemplo abaixo, troque qualquer instância de FOLDER com aquele caminho.

Se você especificou um domínio para o seu servidor Windows, adicione-o no início do NOME_DE_USUÁRIO com um ponto e vírgula entre eles. Por exemplo, domínio;nomedeusuário.

    gvfs-mount smb://NOME_DE_USUÁRIO@SERVIDOR/PASTA
    duplicity --gio smb://NOME_DE_USUÁRIO@SERVIDOR/PASTA /tmp/restore

# Restaurando manualmente

Se até mesmo o duplicity não estiver funcionando para você, há pouca esperança. O formato do arquivo da cópia de segurança é complexo e não pode ser facilmente manipulado. Entretanto, se você estiver desesperado, vale a pena tentar.

Se você usou um servidor remoto ou nas nuvens para armazenar as suas cópias de segurança, primeiramente baixe todos os arquivos do duplicity e coloque-os em uma pasta no seu computador. Em seguida, entre nessa pasta no seu terminal.

O Duplicity armazena os seus dados em pequenos pedaços chamados volumes. Alguns volumes pertencem às cópias de segurança ‘completas’ ou recentes, e outros às cópias de segurança ‘inc’ ou incrementais. Começando com uma cópia de segurança completa de volumes no volume 1, você precisará restaurar os arquivos volume por volume.

Se você criptografou a sua cópia de segurança, primeiramente você deve descriptografar o volume com gpg. Digamos que você tenha duplicity-full.20110127T131352Z.vol1.difftar.gpg:

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

Ou fazer tudo de uma vez (certifique-se de que você tem bastante espaço!):

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

Agora você tem tanto .difftar ou um volume .difftar.gz (dependendo de você ter de descriptografá-lo ou não). Utilize tar em qualquer um no qual você tenha de extrair os arquivos de patch individuais:

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

Ou novamente, para fazer tudo de uma vez:

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

Agora os arquivos de patch estarão nas pastas multivolume_snapshot e snapshot. Cada arquivo que se estendeu em múltiplos volumes estará em multivolume_snapshot. Digamos que você fez uma cópia de segurança de /home/jane/essay.txt:

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

Para recuperar dados de cópias de segurança incrementais, utilize rdiff para juntar os arquivos. Veja man rdiff para a utilização.