【问题标题】:How can I list all empty folders with s3cmd如何使用 s3cmd 列出所有空文件夹
【发布时间】:2021-07-03 14:30:39
【问题描述】:

我已经上传了 5k+ 个文件夹,每个文件夹应该有一个文件和一个子文件夹(这个子文件夹然后包含各种文件)到 DigitalOcean Spaces(S3 存储)。

看起来有些上传失败(长话短说)。有没有办法使用s3cmd 列出所有空文件夹?

【问题讨论】:

    标签: amazon-web-services amazon-s3 s3cmd


    【解决方案1】:

    我在这里的 cmets 是关于 Amazon S3,但应该同样适用于 DigitalOcean Spaces。

    “文件夹”实际上并不存在于 S3 中。例如,您可以将文件上传到invoices/january/inv1.txt,S3 将神奇地创建invoicesjanuary 文件夹。然后,如果您删除该对象,这些文件夹将神奇地消失。因此,当对象在其中时,文件夹会自动出现

    可以通过创建一个与路径同名的零长度对象来创建一个空文件夹。例如,使用invoices/ 的键创建一个长度为零的对象将强制显示一个文件夹,即使它是空的(因为它实际上不是空的!)。当人们单击“创建文件夹”按钮时,这就是 S3 管理控制台创建文件夹的方式。

    因此,当您询问如何“列出所有空文件夹”时,这实际上取决于这些文件夹最初是如何创建的,或者它们是否真的被创建了!很有可能一开始就没有创建这些文件夹。

    如果您的目标是修复上传失败的问题,您可以使用 s3cmd sync 函数重新上传对象,但它足够聪明,只复制目标中不存在或已更改的文件。

    【讨论】:

      猜你喜欢
      • 2012-08-12
      • 1970-01-01
      • 2021-06-17
      • 2016-10-04
      • 2011-10-27
      • 2019-11-02
      • 2021-08-12
      • 2013-05-08
      • 2020-07-02
      相关资源
      最近更新 更多