Sao lưu dự phòng cho S3: BackendException


1

Tôi đang cố gắng định cấu hình cài đặt Bản sao của mình để sao lưu vào nhóm Amazon S3. Tôi tiếp tục nhận được một BackendExceptionlỗi không có thêm chi tiết.

EDIT: Tôi đã xóa cấu hình Duply của mình khỏi câu hỏi này trong nỗ lực cô lập vấn đề nhiều hơn và chuyển sang lệnh trùng lặp đơn giản trên một thư mục nhỏ (10 MB, 34 tệp).

Đây là lệnh tôi đang cố chạy:

duplicity full ./logs "s3://s3-us-east-1.amazonaws.com/bucketname" -v9

Và đây là đầu ra:

root@ats:/var/ats# duplicity full ./logs "s3://s3-us-east-1.amazonaws.com/bucketname" -v9

Duplicity 0.6 series is being deprecated:
See http://www.nongnu.org/duplicity/

Using archive dir: /root/.cache/duplicity/876c7d0b54276e675d41f6ea6077d52f
Using backup name: 876c7d0b54276e675d41f6ea6077d52f
Import of duplicity.backends.botobackend Succeeded
Import of duplicity.backends.cfbackend Succeeded
Import of duplicity.backends.dpbxbackend Succeeded
Import of duplicity.backends.ftpbackend Succeeded
Import of duplicity.backends.ftpsbackend Succeeded
Import of duplicity.backends.gdocsbackend Succeeded
Import of duplicity.backends.hsibackend Succeeded
Import of duplicity.backends.imapbackend Succeeded
Import of duplicity.backends.localbackend Succeeded
Import of duplicity.backends.megabackend Succeeded
Import of duplicity.backends.rsyncbackend Succeeded
Import of duplicity.backends.sshbackend Succeeded
Import of duplicity.backends.swiftbackend Succeeded
Import of duplicity.backends.tahoebackend Succeeded
Import of duplicity.backends.webdavbackend Succeeded
Import of duplicity.backends.~par2wrapperbackend Succeeded
Using temporary directory /tmp/duplicity-sQ3sGs-tempdir
Backend error detail: Traceback (most recent call last):
  File "/usr/local/bin/duplicity", line 1509, in <module>
    with_tempdir(main)
  File "/usr/local/bin/duplicity", line 1503, in with_tempdir
    fn()
  File "/usr/local/bin/duplicity", line 1336, in main
    action = commandline.ProcessCommandLine(sys.argv[1:])
  File "/usr/local/lib/python2.7/dist-packages/duplicity/commandline.py", line 1062, in ProcessCommandLine
    backup, local_pathname = set_backend(args[0], args[1])
  File "/usr/local/lib/python2.7/dist-packages/duplicity/commandline.py", line 955, in set_backend
    globals.backend = backend.get_backend(bend)
  File "/usr/local/lib/python2.7/dist-packages/duplicity/backend.py", line 163, in get_backend
    return _backends[pu.scheme](pu)
  File "/usr/local/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 163, in __init__
    self.resetConnection()
  File "/usr/local/lib/python2.7/dist-packages/duplicity/backends/_boto_single.py", line 189, in resetConnection
    raise BackendException(err.message)
BackendException

BackendException:

Tôi đã thử nghiệm Boto (đó là những gì trùng lặp sử dụng cho các kết nối S3) với tập lệnh này:

root@ats:/var/ats# python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import boto.s3
>>> conn = boto.s3.connect_to_region("us-east-1")
>>> bucket = conn.get_bucket("bucketname")
>>> for key in bucket.list(): print key, key.storage_class
...
<Key: bucketname,test.txt> STANDARD
>>> exit()

Tôi đã đảm bảo rằng tôi đang chạy các phiên bản trùng lặp và python thích hợp mới nhất và tôi đã đặt các biến AWS_ * hoạt động tốt trong Boto.

Tui bỏ lỡ điều gì vậy? Tôi nên làm gì?


Chạy trùng lặp với độ -v9dài thêm.
ceejayoz

@ceejayoz Tôi đã làm "Và đây là nhật ký tôi nhận được từ Bản sao với -v9cờ:", thật không may, đó tính dài dòng thêm.
AMK

Tôi xin lỗi, tôi đã bỏ lỡ điều đó trong câu hỏi. :-(
ceejayoz

Không vấn đề gì. Cảm ơn bạn đã xem, tôi đã bị mắc kẹt trên cái này một chút.
AMK

có mùi giống như "nộp quá lớn cho s3" vấn đề <br> answers.launchpad.net/duplicity/+question/253609 ..ede / duply.net

Câu trả lời:


1

Tôi không biết tại sao lệnh ban đầu không hoạt động, nhưng cuối cùng tôi đã tìm ra rằng việc thay đổi định dạng URL từ s3://s3-us-east-1.amazonaws.com/bucketnameđể s3+http://bucketnamekhắc phục sự cố.

Lệnh làm việc giảm là bây giờ:

duplicity full ./logs "s3+http://bucketname" -v9

Vấn đề của tôi là tôi đã tạo một người dùng IAM mới nhưng quên cấp cho họ quyền truy cập S3: P
Benno

1

Nếu bạn vẫn không thể làm cho nó hoạt động, hãy thử thêm: export S3_USE_SIGV4="True" vào tệp conf hồ sơ kép của bạn.

Điều này được mô tả chi tiết ở đây và làm việc cho tôi.


Tôi đã thử điều đó khi lần đầu tiên gặp vấn đề và nó không có ích gì. Cảm ơn lời đề nghị tuy nhiên!
AMK

0

Cả giải pháp SIGV4 và s3 + http đều không phù hợp với tôi.

Giải pháp của tôi là sử dụng tên khu vực trong URL, thay vì tên chung 's3'. Trong trường hợp của tôi, đây là eu-west-1 (Ireland).

Điều này trông giống như:

s3://s3-eu-west-1.amazonaws.com/bucketname

Thay vì:

s3://s3.amazonaws.com/bucketname

Mặc dù URL chung thứ hai hoạt động trong các công cụ khác như s3cmd, nó không hoạt động với Sao chép / Boto.

Bạn có thể cần kết hợp giải pháp này với câu trả lời của Joe Hudson nếu bạn đang sử dụng một khu vực mới như Frankfurt hoặc Singapore.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.