【问题标题】:Delete old files based on date extracted from filename by custom rules根据自定义规则从文件名中提取的日期删除旧文件
【发布时间】:2018-09-28 10:43:51
【问题描述】:

我正在尝试根据以下规则找到自动删除我在 s3 上的旧 SQL 备份文件的最佳方法:

  1. 保留过去 7 天的所有备份
  2. 保留过去 6 个月每天的最后一次备份
  3. 保留过去 2 年每周的最后一次备份
  4. 为超过 2 年的文件保留每月的最后一次备份。

我的文件名包含如下备份日期时间XX_backup_2016_12_09_150003_4066809.bak

你有什么推荐的? AWS Lambda 还是什么?

【问题讨论】:

    标签: amazon-s3 aws-lambda aws-sdk


    【解决方案1】:

    考虑将S3 Lifecycle RulesObjectTagging 结合使用。

    您可以使用S3 Eventstrigger a lambda for each PutObject。您的 lambda 可以根据您概述的规则在 S3 对象上创建标签。文件名将从 S3 事件输入到 lambda。

    即:

    1. 保留过去 7 天的所有备份(保留 7 天的默认标记)
    2. 保留过去 6 个月每天的最后一次备份(标记为 6 个月保留)
    3. 保留过去 2 年每周的最后一次备份(标记为 2 年保留)
    4. 为超过 2 年的文件保留每月的最后一次备份(标记为 x 保留)

    lambda 可以处理边缘情况,以确定特定文件是否需要 6 个月和 2 年。如果无法为 7 天保留应用其他标签,则可以使用默认标签。

    然后可以根据标签创建并应用有过期的生命周期规则。

    【讨论】:

      猜你喜欢
      • 2021-08-21
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 1970-01-01
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多