8

备份为 250MB。我认为这不是很大,但问题似乎随着尺寸的增加而增加。

从下面的备份 gem 中记录。

注意时间跨度;上传大约 37 分钟后,我得到了连接重置。

[2015/10/30 09:20:40][message] Storage::S3 started transferring '2015.10.30.09.20.01.myapp_postgres.tar' to bucket 'myapp-backups'.
[2015/10/30 09:57:06][error]   ModelError: Backup for Back up PostgreSQL (myapp_postgres) Failed!
[2015/10/30 09:57:06][error]   An Error occured which has caused this Backup to abort before completion.
[2015/10/30 09:57:06][error]   Reason: Excon::Errors::SocketError
[2015/10/30 09:57:06][error]   Connection reset by peer
4

2 回答 2

4

您是否尝试过错误处理选项,该选项会重新传输文件中失败的部分:

store_with S3 do |s3|
  s3.max_retries = 10
  s3.retry_waitsec = 30
end

保持块大小也很小:

store_with S3 do |s3|
  s3.chunk_size = 5 # MiB
end

您可能还想使用拆分器选项

于 2015-11-07T10:43:36.680 回答
1

我现在说要使用 ruby​​-xz 压缩到一个较小的文件中,以便发送更多压缩文件并临时修补它,然后尝试查看

Excon.defaults[:write_timeout] = 500

或更多会做的伎俩

于 2015-11-08T20:44:56.393 回答