我有两个简单的脚本可以在Amazon Web服务上上传和下载S3的代码:
#####Upload Script
zip -r file.zip www
s3cmd del s3://mybucket/file.zip --encrypt
s3cmd put file.zip s3://mybucket --encrypt
rm -rf file.zip
#####Download Script
rm -rf /home/ubuntu/www/*
s3cmd sync s3://mybucket/file.zip /home/ubuntu/ --encrypt
unzip -u /home/ubuntu/file.zip -d /home/ubuntu/
rm -rf /home/ubuntu/file.zip
但是,这些脚本仅在我不使用--encrypt
选项时才有效。生成的文件有11MB没有加密,它解压得很好,9MB使用加密,但当我尝试解压缩时给我一个错误。如何解密来自S3的文件,因为没有--decrypt
选项,并且在下载时使用--encrypt
也没有用?
我使用加密密码正确配置了s3cmd,并通过了配置测试。在任何人问之前,这里出现错误:
Archive: /home/ubuntu/file2.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. note: /home/ubuntu/file2.zip may be a plain executable, not an archive unzip: cannot find zipfile directory in one of /home/ubuntu/file2.zip or /home/ubuntu/file2.zip.zip, and cannot find /home/ubuntu/file2.zip.ZIP, period.
答案 0 :(得分:1)
当我尝试直接从S3下载备份而不是使用s3cmd get
来检索文件时,我遇到了这个问题。当我使用s3cmd检索它时,文件解压缩没有任何问题。您不需要使用任何标志运行它来解密它。它会直观地做到。
答案 1 :(得分:0)
加密似乎在当前上游主分支HEAD 81e3842f7afb中被破坏。您最好直接加密和放置加密文件。当然 - 使用[sync]命令进行加密不起作用。