Не удаётся восстановить резервные копии Amazon S3 с помощью deja-dup или duplicity. Может ли кто-нибудь помочь?

Не удаётся восстановить резервные копии Amazon S3 с помощью deja-dup или duplicity. Может ли кто-нибудь помочь?

Может ли кто-нибудь мне помочь с этим? Я уже некоторое время использую deja-dup для резервного копирования моей машины Ubuntu 14.04. У меня duplicity версии 0.6.23, deja-dup версии 30.0. Независимо от того, какой бэкап я выбираю, я получаю ошибки.

Когда я использую пользовательский интерфейс deja-dup, я просто получаю эту ошибку: "BackendException: Error listng s3+http [Я ставлю пробел, потому что он не позволяет мне разместить ссылку] ://mybucketname1/computer-XPS13-9333"

(в целях публикации я анонимизирую всю идентификационную информацию в сообщениях об ошибках и командах)

Я попробовал несколько вариантов через командную строку, используя duplicity, но безуспешно.

Эта команда:

AWS_ACCESS_KEY_ID=XXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXX duplicity restore s3+http

[Я ставлю пробел, потому что не даёт разместить ссылку] ://mybucketname1/computer-XPS13-9333 /media/standard/Seagate\ Backup\ Plus\ Drive/restore/

возвращает эту ошибку:

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>

Тогда я попробовал с другой конечной точкой и запустил это:

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>

Я подумал, что, возможно, конечная точка, о которой он мне сообщал, неверна, поэтому я попробовал то, что нашел на сайте S3, и запустил это:

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/

и получил эту ошибку:

UnsupportedBackendScheme: scheme not supported in url: s3

Я подумал, что это может быть проблема с http/https, поэтому попробовал ту же команду, что и http, и получил эту ошибку, но я почти уверен, что эта конечная точка не является настоящим URL-адресом, который мне следует использовать:

PermanentRedirectБакет, к которому вы пытаетесь получить доступ, должен быть адресован с использованием указанной конечной точки. Пожалуйста, отправляйте все будущие запросы на эту конечную точку.s3-us-west-2.amazonaws.coms3-us-west-2.amazonaws.com.s3.amazonaws.comXXXXXXXXXXXXXXXXXXXXX

Есть ли у кого-нибудь рекомендации? Я потерял кучу данных и надеюсь вернуть их и начать резервное копирование с помощью dropbox или чего-то еще. Я некоторое время изучал эту проблему, и, по-видимому, у duplicity есть все виды проблем, но я до сих пор не нашел решения этой.

решение1

Я понял это и отвечаю на свои собственные вопросы для тех, у кого есть похожие проблемы. Во-первых, я обнаружил, что не могу восстановить всю резервную копию сразу. Она слишком большая и время ожидания истекает. Стратегия, которую мне пришлось использовать, заключалась в том, чтобы восстанавливать подкаталоги за раз. Кроме того, когда я попытался list-current-files, он ничего не вернул. Несмотря на то, что файлы резервной копии были огромными, он сказал, что у меня нет файлов для восстановления. Я понял, что если я использую флаг -t, это сработает. Это, вероятно, означает, что моя последняя резервная копия была повреждена, но, просмотрев некоторое время назад (в моем случае на 6 месяцев), он смог найти некоторые файлы для восстановления. Сначала мне нужно было получить этот список файлов, чтобы я знал, какие файлы восстанавливать:

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

Это даст вам файл restore_file_list-6M.txt, который вам понадобится для поиска файлов в вашей резервной копии.

Вы также заметите, что, несмотря на то, что говорится в документации, это s3+http://неправильно, вместо этого вы хотите s3://.

После того, как я получил список файлов в резервной копии restore_file_list-6M.txt, я смог восстановить их по одному каталогу за раз с помощью этой команды:

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/

Я не знаю, имеет ли флаг --timeout какую-либо функцию, но --num-retries определенно важен, потому что он останавливается примерно один раз на файл, а иногда может останавливаться более ста раз, прежде чем файл будет успешно загружен.

Теперь я навсегда покончил с двуличием.

Связанный контент