Não é possível restaurar backups do Amazon S3 usando deja-dup ou duplicidade, alguém pode ajudar?

0

Alguém pode me ajudar com isso? Eu tenho usado o deja-dup para fazer o backup da minha máquina Ubuntu 14.04 por um tempo. Eu tenho a versão 0.6.23 de duplicidade, versão 30.0 de deja-dup. Não importa qual backup eu selecione, recebo erros.

Quando uso a interface de usuário do deja-dup, simplesmente recebo este erro: "BackendException: Error listng s3+http [Eu estou colocando um espaço bere porque não vai me deixar postar um link] : // mybucketname1 / computer-XPS13-9333 "

(para fins de postagem estou anonimizando todas as informações de identificação em mensagens de erro e comandos)

Eu tentei algumas variações através da linha de comando, usando duplicidade, mas não estou tendo sorte.

Este comando:

AWS_ACCESS_KEY_ID=XXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXX duplicity restore s3+http

[Estou colocando um espaço bere porque ele não me deixa postar um link] : // mybucketname1 / computer-XPS13-9333 / media / standard / Seagate \ Backup \ Plus \ Drive / restore /

retorna este erro:

PermanentRedirect The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message><Bucket>mybucketname1</Bucket><Endpoint>mybucketname1.s3.amazonaws.com</Endpoint><RequestId>XXXXXXXX</RequestId><HostId>Pwl/XXXXXXXXXXXXXXXXXXXXXXXX=</HostId></Error>

Então tentei com um endpoint diferente e executei isso:

AWS_ACCESS_KEY_ID=XXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXX duplicity restore s3+http
[I'm putting a space heere because it won't let me post a link]
://mybucketname1.s3.amazonaws.com/computer-XPS13-9333 /media/standard/Seagate\ Backup\ Plus\ Drive/restore/

<Error><Code>NoSuchBucket</Code><Message>The specified bucket does not exist</Message><BucketName>mybucketname1.s3.amazonaws.com</BucketName><RequestId>XXXXXXXXX</RequestId><HostId>XXXXXXXXXXXXXXX</HostId></Error>

Pensei que talvez o endpoint que estava me dizendo estivesse errado, então tentei o que encontrei no site da S3 e o executei:

AWS_ACCESS_KEY_ID=XXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXX duplicity restore s3+https
[I'm putting a space bere because it won't let me post a link]
://s3-us-west-2.amazonaws.com/mybucket1/computer-XPS13-9333 /media/standard/Seagate\ Backup\ Plus\ Drive/restore/

e recebi este erro:

UnsupportedBackendScheme: scheme not supported in url: s3

Eu pensei que isso poderia ser um problema de http / https, então eu tentei o mesmo comando como http e recebi este erro, mas tenho certeza que esse endpoint não é uma URL real que eu deveria usar:

PermanentRedirect O intervalo que você está tentando acessar deve ser endereçado usando o terminal especificado. Por favor, envie todos os pedidos futuros para este endpoint.s3-us-west-2.amazonaws.coms3-us-west-2.amazonaws.com.s3.amazonaws.comXXXXXXXXXXXXXXXXXXXXX

Alguém tem alguma recomendação? Eu perdi um monte de dados e estou esperando recuperá-lo e começar a fazer o backup usando dropbox ou algo assim. Eu venho pesquisando esse problema há algum tempo e, aparentemente, a duplicidade tem todos os tipos de problemas, mas ainda não encontrei uma solução para esse problema.

    
por Zeb Haradon 15.05.2016 / 05:17

1 resposta

0

Eu percebi isso e estou respondendo minhas próprias perguntas para o benefício de qualquer outra pessoa com problemas semelhantes. Primeiro, descobri que não posso restaurar um backup inteiro de uma só vez. É muito grande e acaba. A estratégia que eu tive que tomar foi fazer subdiretórios de cada vez. Além disso, quando tentei listar arquivos atuais, ele não retornaria nada. Mesmo que os arquivos de backup fossem enormes, ele disse que eu não tinha arquivos para restaurar. Eu descobri que se eu usasse o -t , ele funcionaria. Isso provavelmente significa que meu último backup foi corrompido, mas olhando um pouco para trás no tempo (6 meses no meu caso), ele foi capaz de encontrar alguns arquivos para restaurar. Primeiro eu tive que pegar aquela lista de arquivos, então eu sabia quais arquivos restaurar:

AWS_ACCESS_KEY_ID=xxxxxxxxxxxxxxx AWS_SECRET_ACCESS_KEY=xxxxxxxxxxxxxxxx PASSPHRASE=xxxxxxxxx duplicity list-current-files --timeout=2400 --tempdir /path/path/path/ --num-retries=500 -t 6M s3://s3-us-west-2.amazonaws.com/mybucketname1/computer-name | tee -a restore_file_list-6M.txt

Isso fornece um arquivo restore_file_list-6M.txt , que você precisará usar para encontrar quais arquivos estão no seu backup.

Você também notará que, apesar da documentação, o s3+http:// está errado, você deseja s3:// .

Quando eu tiver a lista de arquivos no tee de backup em restore_file_list-6M.txt , eu posso restaurá-los em um diretório por vez usando este comando:

AWS_ACCESS_KEY_ID=XXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXX PASSPHRASE=XXXXXXXXXXXX duplicity restore --timeout=2400 --tempdir /path/path/path/ --allow-source-mismatch --file-to-restore source/in/backup --num-retries=500 -t 6M  s3://s3-us-west-2.amazonaws.com/mybucketname1/computer-name /place/I/want/to/restore/to/

Eu não sei se o sinalizador --timeout tinha alguma função, mas o --num-retries é definitivamente importante, porque ele expira cerca de uma vez por arquivo, e às vezes chegava ao limite de uma centena de vezes antes de baixar com êxito um arquivo.

Agora, acabei com a duplicidade para sempre.

    
por Zeb Haradon 20.05.2016 / 07:07