8

我想删除超过 1 周的备份文件。我已按照 gitlab 中的此备份文档,成功创建了要上传到 Amazon S3 的备份文件。

我也设置了,gitlab_rails['backup_keep_time'] = 604800但是不行。

但是,根据我在他们创建的 IAM 用户策略中观察到的情况。没有删除文件的权限。

备份文件正在打包,我不想在 AWS 中手动执行此操作。

是否有任何标准方法可以删除 Amazon S3 for gitlab 综合包中的备份文件?

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1412062044000",
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:ListBucketMultipartUploads",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::my.s3.bucket/*"
      ]
    },
    {
      "Sid": "Stmt1412062097000",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListAllMyBuckets"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "Stmt1412062128000",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my.s3.bucket"
      ]
    }
  ]
}
4

3 回答 3

14

您可以通过以下步骤使用 S3 生命周期策略:

  1. 单击您的 S3 属性并选择生命周期选项卡,然后单击添加规则。

    步骤1

  2. 单击配置规则。

    第2步

  3. 选中永久删除并输入 7 天(或您想要的任何其他数字),然后单击查看。

    第 3 步

  4. 输入规则名称并单击“创建并激活规则”。

    第4步

  5. 检查您的规则创建成功并享受。

    第 5 步

于 2016-07-24T10:49:35.940 回答
1

如果您只对清除 s3 存储桶中的旧备份感兴趣,您可以直接在 AWS 中实现。在 s3 存储桶属性上,您可以设置生命周期策略以使文件过期超过指定天数或转移到更便宜的冰川。

于 2016-07-24T06:51:04.287 回答
0

请注意,backup_keep_time 配置选项仅管理本地文件。GitLab 不会自动修剪存储在第三方对象存储(例如 AWS S3)中的旧文件...

https://docs.gitlab.com/ce/raketasks/backup_restore.html

于 2019-09-25T14:10:02.720 回答