このコマンドは、AWS EC2スナップショットよりも古いものを削除するかどうかを指定しますか?月より古いAWS EC2スナップショットを削除する
aws describe-snapshots | grep -v(日付+%Y-%m-)| grep snap- | awk '{print $ 2}' | xargs -n 1 -t aws delete-snapshot
このコマンドは、AWS EC2スナップショットよりも古いものを削除するかどうかを指定しますか?月より古いAWS EC2スナップショットを削除する
aws describe-snapshots | grep -v(日付+%Y-%m-)| grep snap- | awk '{print $ 2}' | xargs -n 1 -t aws delete-snapshot
あなたのコマンドは、ほとんど誤植のために動作しません。aws describe-snapshots
はaws ec2 describe-snapshots
である必要があります。とにかく
、あなたがAWS以外のツールなしでこれを行うことができます。
snapshots_to_delete=($(aws ec2 describe-snapshots --owner-ids xxxxxxxxxxxx --query 'Snapshots[?StartTime>=`2017-02-15`].SnapshotId' --output text))
echo "List of snapshots to delete: $snapshots_to_delete"
# actual deletion
for snap in $snapshots_to_delete; do
aws ec2 delete-snapshot --snapshot-id $snap
done
あなたはいつもあなたが削除されているものを知っていることを確認してください。例えば、echo $snap
。
また、--dry-run
〜aws ec2 delete-snapshot
を追加すると、リクエストにエラーがないことがわかります。
編集:
--owner-ids
- あなたはユニークなIDをアカウント:
最初のコマンドでの注意を払うために2つのものがあります。 (:2017年2月15日など):Snapshots[?StartTime>=`2017-02-15`].SnapshotId
私が間違っている場合は私を訂正しますか?StartTime> = '2017-02-15'は2017-02-15より新しいスナップショットを選択しますか?だから私はこれが<= =よりむしろ> =と思っていると思います。 – ThePerson
指定した日付より後に作成されたスナップショットのみを取得しJMESPathクエリ - Support->Support Center->Account Number xxxxxxxxxxxx
--query
:簡単にAWSコンソールの右上隅に手動で見つけることができますあなたはhttp://botmetric.comを試すことができます。これは、ワンクリックで必要な時間枠に基づいてAWS EC2の古いスナップショットを削除するのに役立ちます。また、請求、セキュリティ、およびその他多くに基づいて提案します。
'--dry-run'を' delete-snapshot'コマンドに追加して自分でテストしてみませんか? –