为什么我要得到MD5总和不匹配! 错误?

我试图上传我的审计文件到S3。 使用s3cmd工具。

我只是运行这个命令:

sudo s3cmd put /var/log/audit/audit.log s3://audit-files 

但是我得到这样的错误信息:

 /var/log/audit/audit.log -> s3://audit-files/audit.log [1 of 4] 5120000 of 5116306 100% in 88s 56.80 kB/s done WARNING: MD5 Sums don't match! WARNING: Retrying upload of /var/log/audit/audit.log /var/log/audit/audit.log -> s3://audit-files/audit.log [1 of 4] 180224 of 5116306 3% in 4s 41.30 kB/s^CSee ya! 

为什么发生这种情况? 我对Amazon S3相当陌生。

一旦文件被上传,S3计算数据的MD5散列。 s3cmd计算本地文件的MD5散列值,并将其与S3声明的散列值进行比较。 这两个散列在你的情况下是不匹配的,这意味着存储在S3中的文件和本地文件不一样。

我的猜测是日志文件被追加到上传,这是导致不匹配。 尝试先将audit.log复制到另一个文件,然后上传带有s3cmd的副本。 或者,只上传已经被旋转的日志文件。