使用“aws s3”实用程序在 S3 中获取 1 个月以前的文件列表

Posted

技术标签:

【中文标题】使用“aws s3”实用程序在 S3 中获取 1 个月以前的文件列表【英文标题】:Getting a list of files older that 1 month from now in S3 using the "aws s3" utility 【发布时间】:2018-05-07 15:02:54 【问题描述】:

我每天使用 S3 cli 实用程序 aws s3 和 cron 将备份上传到 S3。这是自动的。我还希望能够删除旧备份,即超过 2 周或 1 个月的备份。以这种方式(即自动)执行此操作的最佳方法是什么?

作为第一步,我如何获取存储桶中两周前通过aws s3 实用程序上传的文件列表?

【问题讨论】:

【参考方案1】:

S3 支持生命周期策略,因此您可以自动执行此操作。

只需创建一个在 2 周后删除文件的生命周期策略。 (请注意,某些存储类型 - 即不经常访问 - 需要至少 30 天的存储时间。)

类似:


  "Rules": [
    
      "ID": "Delete after 14 days",
      "Status": "Enabled",
      "Prefix": "",
      "Expiration": 
        "Days": 14
      
    
  ]

您无法使用 CLI 工具根据日期进行过滤,因此您需要列出所有内容并在本地进行过滤。

【讨论】:

好的,生命周期也有很多设置。我只需要删除所有超过 2 周的文件。我尝试过创建生命周期,但我认为我可能以错误的方式创建它。我怎样才能准确地创建它? 那里只有一个弹出窗口/向导。如您所示,如何将其添加为文本? 可以使用cli - aws s3api put-bucket-lifecycle: docs.aws.amazon.com/cli/latest/reference/s3api/…

以上是关于使用“aws s3”实用程序在 S3 中获取 1 个月以前的文件列表的主要内容,如果未能解决你的问题,请参考以下文章

AWS S3 - 在404 NoSuchKey中获取对象结果

获取存储桶中 AWS S3 密钥计数的快速方法

如何获取 Rails 应用程序的 CORS 标头以访问 aws s3 存储桶?

从AWS S3获取对象作为流

如何使用 lambda 函数从 AWS s3 获取文本文件的内容?

使用 CORS 在 AWS S3 存储桶上获取