我在Ubuntu 10.04 VPS上有一个夜间脚本,它使用重复性 (0.6.24)将增量encryption备份运行到Amazon S3。 这个脚本一直工作到一个月前,当它开始失败,如下所示的错误:
Upload 's3://s3.amazonaws.com/{BUCKET}/duplicity-full.20140519T222412Z.vol6.difftar.gpg' failed (attempt #5, reason: error: [Errno 105] No buffer space available) Giving up trying to upload s3://s3.amazonaws.com/{BUCKET}/duplicity-full.20140519T222412Z.vol6.difftar.gpg after 5 attempts Backend error detail: Traceback (most recent call last): File "/usr/local/bin/duplicity", line 1502, in <module> with_tempdir(main) File "/usr/local/bin/duplicity", line 1496, in with_tempdir fn() File "/usr/local/bin/duplicity", line 1345, in main do_backup(action) File "/usr/local/bin/duplicity", line 1466, in do_backup full_backup(col_stats) File "/usr/local/bin/duplicity", line 538, in full_backup globals.backend) File "/usr/local/bin/duplicity", line 420, in write_multivol (tdp, dest_filename, vol_num))) File "/usr/local/lib/python2.6/dist-packages/duplicity/asyncscheduler.py", line 145, in schedule_task return self.__run_synchronously(fn, params) File "/usr/local/lib/python2.6/dist-packages/duplicity/asyncscheduler.py", line 171, in __run_synchronously ret = fn(*params) File "/usr/local/bin/duplicity", line 419, in <lambda> async_waiters.append(io_scheduler.schedule_task(lambda tdp, dest_filename, vol_num: put(tdp, dest_filename, vol_num), File "/usr/local/bin/duplicity", line 310, in put backend.put(tdp, dest_filename) File "/usr/local/lib/python2.6/dist-packages/duplicity/backends/_boto_single.py", line 266, in put raise BackendException("Error uploading %s/%s" % (self.straight_url, remote_filename)) BackendException: Error uploading s3://s3.amazonaws.com/{BUCKET}/duplicity-full.20140519T222412Z.vol6.difftar.gpg
它似乎能够在错误发生之前上传几个副本卷,如果我再次运行备份脚本,它会从停止的地方开始,所以我可以完成备份,但是我必须重新启动脚本,直到它通过30卷。
我使用的重复命令是:
duplicity --full-if-older-than 1M \ --encrypt-key={KEY} \ --sign-key={KEY} \ --exclude={PATH} {PATH} \ s3://s3.amazonaws.com/{BUCKET} -v8
我怎样才能防止这个错误?