
Может ли кто-нибудь мне помочь с этим? Я уже некоторое время использую 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 определенно важен, потому что он останавливается примерно один раз на файл, а иногда может останавливаться более ста раз, прежде чем файл будет успешно загружен.
Теперь я навсегда покончил с двуличием.