s3 删除事故?

起因

一次巡检s3备份查看时, 一回车手滑,出现了下面这种画面,生产事故?!!!
在这里插入图片描述

现象

  • aws s3 rm s3://gfai-hk/upload.cmd 证实的确被删除了,
  • 推断后面的生产数据也被全删, 尝试用s3命令恢复
  • 发现需要该对象开启版本控制, rm被删除才有可能找回,否则永久删除
  • 于是尝试下面的命令
    • 先找出被删除文件
    • 后逐一执行恢复
aws s3api list-object-versions --bucket bucketname --prefix path/to/folder/ --query 'DeleteMarkers[].[Key,VersionId]' --output text | awk '{print $1 " " $2}' | while read objid versionid; do aws s3api delete-object --bucket bucketname --key $objid --version-id $versionid; done
  • upload.cmd 无法获取控制版本, 找不到它的删除标记信息

分析

  • 所使用的命令行账号权限不足?
  • 但问询后,没有操作记录
  • 关键: 是否开启版本控制,没开启被rm删,就真找不回了!!!
  • 马上查看生产情况,发现ad 目录下的文件都在…
  • 没删掉? 可upload.cmd 的确不见了…
  • 删目录和删对象不一样???

解决

查阅文档发现

  • 下面该命令只能删除空目录。如果 logs/ 目录下有对象或子目录,则该命令将不删除。
aws s3 rm s3://example-bucket/logs/ 	
  • 要删除目录及其下的所有对象,需要使用 --recursive 参数
aws s3 rm s3://your-bucket-name/path/to/directory/ --recursive  

结论

  • 一场因技术储备不足,误操作造成的虚假事故…
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值