我正在尝试通过 EC2 命令行 API 工具删除 Windows AWS 实例上的 X 最新快照以外的所有 EBS 快照。我为 Linux 找到了以下内容,是否可以在 Windows 中做同样的事情?
ec2-描述-快照 | 排序-r -k 5 | sed 1,6d | awk '{print "删除快照:" $2}; system("ec2-delete-snapshot" $2)'
我正在尝试通过 EC2 命令行 API 工具删除 Windows AWS 实例上的 X 最新快照以外的所有 EBS 快照。我为 Linux 找到了以下内容,是否可以在 Windows 中做同样的事情?
ec2-描述-快照 | 排序-r -k 5 | sed 1,6d | awk '{print "删除快照:" $2}; system("ec2-delete-snapshot" $2)'
刚刚意识到您显然确实想要删除所有EBS 快照 - 以防万一,脚本也可以通过 boto 的get_all_snapshots()
方法进行调整,该方法可以获取与当前凭据关联的所有 EBS 快照。
您需要相应地替换面向卷的代码,例如替换
snapshots = volume.snapshots()
和
snapshots = conn.get_all_snapshots()
虽然通过Amazon EC2 API 工具和相应的 PowerShell 脚本的组合当然可以,但我个人更喜欢优秀的boto以与平台无关的方式与 AWS 交互(即脚本在 Linux、MacOS、Windows 上工作)- Boto 是为 Amazon Web Services 提供接口的 Python 包。
我刚刚准备在这方面组装一些东西,但是 Vaibhav Puranik 已经很容易获得它,请参阅使用 python 脚本管理 EBS 快照- 他的脚本创建一个新的ebs 快照并删除所有以前的快照,除了一些最新的快照。
因此,虽然它提供了比请求更多的功能,但脚本很简单,可以根据您的需要进行调整,例如,如果需要,删除以下两行以摆脱快照创建:
if volume.create_snapshot(description):
print 'Snapshot created with description: ' + description
免责声明:我自己既没有彻底审查也没有测试过脚本!
因此,鉴于脚本会永久删除数据,您应该在将其用于生产之前自行检查和测试它。
祝你好运!