如果我在S3上有一个包含约5000个小文件的目录,有没有办法轻松压缩整个目录并将生成的zip文件留在S3上?我需要这样做,而不必亲自手动访问每个文件.
谢谢!
我正在尝试使用s3cmd sync(vanilla命令远程到本地),但是对于每个文件,我都会收到not writable: Operation not permitted警告(见下文).但是,文件似乎正确下载,如果我ls在文件上执行,则它就在那里.我尝试使用--disable-multipart旗帜,但这没有任何区别.我使用的是s3cmd版本1.5.0-rc1.
我有没有理由收到这些警告?
WARNING: MD5 signatures do not match: computed=11ff15bf.., received="b119cb85b109c6.."
WARNING: ./path/part-r-00003.gz.parquet not writable: Operation not permitted
s3://bucket/path/part-r-00003.gz.parquet -> <fdopen>  [31 of 72] 36101458 of 36101458   100% in 2s    16.30 MB/s  done
尝试使用s3cmd将S3目录下载到本地计算机.我正在使用命令:
s3cmd sync --skip-existing s3://bucket_name/remote_dir ~/local_dir
但如果我在中断后重新开始下载,则s3cmd不会跳过先前下载的现有本地文件并重写它们.命令有什么问题?
我安装了用于linux的s3cmd命令行工具.它可以很好地将文件放入存储桶.但是,我想将文件移动到"文件夹"中.我知道S3本身不支持文件夹,但我的Cyberduck GUI工具可以很好地转换它们以便我查看备份.
目前我在存储桶的根目录中有一个文件,例如"test.mov".我想把它移到'idea'文件夹中.我在尝试这个:
s3cmd mv s3://mybucket/test.mov s3://mybucket/idea/test.mov
但我得到奇怪的错误,如:
WARNING: Retrying failed request: /idea/test.mov (timed out)
WARNING: Waiting 3 sec...
我也尝试过引号,但这也没有帮助:
s3cmd mv 's3://mybucket/test.mov' 's3://mybucket/idea/test.mov'
也没有只是文件夹名称
s3cmd mv 's3://mybucket/test.mov' 's3://mybucket/idea/'
有没有办法删除和重新输入这个3GB文件?
更新:仅供参考,我可以将新文件直接放入如下文件夹中:
s3cmd put test2.mov s3://mybucket/idea/test2.mov
但仍然不知道如何移动它们....
我正在使用s3cmd,我想知道如何排除存储桶中的所有文件夹,只是同步存储桶根.
例如
bucket
folder/two/
folder/two/file.jpg
get.jpg
同步我只想让它同步get.jpg并忽略文件夹及其内容.
s3cmd --config sync s3://s3bucket (only sync root) local/
如果有人可以提供帮助那就太棒了我已经尝试了--exclude但不确定如何在这种情况下使用它?
我正在尝试使用s3cmd的本地s3ninja.每个命令都像:s3cmd ls s3://test抛出相同的异常.
s3cfg似乎没问题,被叫端点是正确的.
是否有人能够使用s3cmd s3ninja?
PS:我知道S3并不昂贵,而且有很多更好的方法来测试S3.我出于其他原因需要S3 Ninja.
这是调试信息:
DEBUG: ConfigParser: Reading file '/Users/daniel/.s3cfg'
DEBUG: ConfigParser: access_key->AK...17_chars...E
DEBUG: ConfigParser: access_token->
DEBUG: ConfigParser: add_encoding_exts->
DEBUG: ConfigParser: add_headers->
DEBUG: ConfigParser: bucket_location->US
DEBUG: ConfigParser: ca_certs_file->
DEBUG: ConfigParser: cache_file->
DEBUG: ConfigParser: check_ssl_certificate->True
DEBUG: ConfigParser: check_ssl_hostname->True
DEBUG: ConfigParser: cloudfront_host->cloudfront.amazonaws.com
DEBUG: ConfigParser: default_mime_type->binary/octet-stream
DEBUG: ConfigParser: delay_updates->False
DEBUG: ConfigParser: delete_after->False
DEBUG: ConfigParser: delete_after_fetch->False
DEBUG: ConfigParser: delete_removed->False
DEBUG: ConfigParser: dry_run->False
DEBUG: ConfigParser: enable_multipart->True
DEBUG: ConfigParser: encoding->UTF-8
DEBUG: ConfigParser: encrypt->False
DEBUG: ConfigParser: expiry_date->
DEBUG: ConfigParser: expiry_days->
DEBUG: …我正在使用 Amazon S3 API,特别是 ListObjects (v2)、GetBucket 命令。令人沮丧的是,我只能取回 1000 个对象。我认为您指定 Delimeter 或 nextMarker 设置为诱导分页并返回所有内容。有人有一个如何实现这一点的例子吗?curl 或 GET 的最终结果实际上是获取所有内容,而不仅仅是 1000 个对象。
除了使用s3cmd之外,还有另一种同步两个Amazon S3存储桶的自动方式吗?也许亚马逊有这个选项吗?环境是linux,每天我都想将新文件和已删除文件同步到另一个桶.我讨厌将所有鸡蛋放在一个篮子里的想法.
s3cmdepel-testing通过运行从repo 安装:
yum --enablerepo epel-testing install s3cmd
然后我调用了配置工具,s3cmd --configure但是我收到了这个错误:
Test access with supplied credentials? [Y/n] 
Please wait, attempting to list all buckets...
ERROR: Test failed: 400 (InvalidToken): The provided token is malformed or otherwise invalid.
Invoked as: /usr/bin/s3cmd --configureProblem: AttributeError: 'S3Error' object has no attribute 'find'
S3cmd:   1.5.0-beta1
python:   2.6.8 (unknown, Mar 14 2013, 09:31:22) 
[GCC 4.6.2 20111027 (Red Hat 4.6.2-2)]
Traceback (most recent call last):
  File "/usr/bin/s3cmd", line 2323, in <module>
    main()
  File "/usr/bin/s3cmd", line …我需要使用 s3cmd 将 s3 对象的存储类从 STANDARD 类更改为 STANDARD_IA。任何人都可以帮助我完成这项任务。提前致谢。