From 7d870b14c3885635f2e42ed6447ad3b82e56ddea Mon Sep 17 00:00:00 2001 From: wangqifan Date: Mon, 24 Nov 2025 15:03:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20saveEbs.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- saveEbs.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 saveEbs.sh diff --git a/saveEbs.sh b/saveEbs.sh new file mode 100644 index 0000000..a8b5da5 --- /dev/null +++ b/saveEbs.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# 获取所有可用的 region +regions=$(aws ec2 describe-regions --query 'Regions[*].RegionName' --output text) +# regions=ap-south-1 + +for region in $regions; do + echo "=== Processing region: $region ===" + + # 获取当前 region 的实例 ID 列表 + instance_ids=$(aws ec2 describe-instances \ + --region $region \ + --query 'Reservations[*].Instances[*].InstanceId' \ + --output text) + + for instance_id in $instance_ids; do + echo "---- Instance: $instance_id ----" + + # 获取该实例的全部 EBS block device mapping + devices=$(aws ec2 describe-instances \ + --region $region \ + --instance-ids $instance_id \ + --query 'Reservations[0].Instances[0].BlockDeviceMappings[*].DeviceName' \ + --output text) + + for device in $devices; do + echo "Setting DeleteOnTermination=false for $instance_id ($device)" + + # 创建临时 JSON 文件 + tmpfile=$(mktemp) + + cat > $tmpfile <