我想删除超过1周的备份文件。我从gitlab跟踪了这个backup document并成功创建了备份文件以上传到Amazon S3。
我还设置了gitlab_rails['backup_keep_time'] = 604800
,但它不起作用。
但是,我在他们创建的IAM用户策略中观察到了这一点。无权删除文件。
备份文件正在打包,我不希望在AWS中手动执行此操作。
是否有任何标准方法可以删除Amazon S3中用于gitlab omnibus包的备份文件?
{
"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"
]
}
]
}
答案 0 :(得分:14)
您可以按照以下步骤使用S3生命周期策略:
单击您的S3属性并选择Lifecycle选项卡,然后单击Add rule。
点击配置规则。
选中永久删除并输入七天(或您想要的任何其他数字),然后点击查看。
输入规则名称,然后单击“创建并激活规则”。
检查您的规则是否已成功创建并享受。
答案 1 :(得分:1)
如果您只想清除s3存储桶中的旧备份,则可以直接在AWS中实现此目的。在s3存储桶属性上,您可以设置生命周期策略以使超过指定天数的文件到期,或者移动到更便宜的冰川。
答案 2 :(得分:0)
请注意,backup_keep_time配置选项仅管理本地文件。 GitLab不会自动修剪存储在第三方对象存储(例如,AWS S3)中的旧文件...