AWS EBS 快照每月一次,每天一次,持续 7 天
AWS EBS Snapshot once a month and daily for 7 days
我想每周 天制作一个快照并删除超过 7 天的快照 但同时,我想保存 一个本月快照。
有人知道如何编辑这些行来制作这个吗?
我每天都用corn执行ebs-snapshot.sh,我需要保存,比如每月第一天做的快照
# How many days do you wish to retain backups for? Default: 7 days
retention_days="7"
retention_date_in_seconds=`date +%s --date "$retention_days days ago"`
[...]
# Purge all instance volume snapshots created by this script that are older than 7 days
for snapshot_id in $(cat /tmp/snapshot_info.txt)
do
echo "Checking $snapshot_id..."
snapshot_date=$(aws ec2 describe-snapshots --output=text --snapshot-ids $snapshot_id --query Snapshots[].StartTime | awk -F "T" '{printf "%s\n", }')
snapshot_date_in_seconds=`date "--date=$snapshot_date" +%s`
if (( $snapshot_date_in_seconds <= $retention_date_in_seconds )); then
echo "Deleting snapshot $snapshot_id ..." >> $logfile
aws ec2 delete-snapshot --snapshot-id $snapshot_id
else
echo "Not deleting snapshot $snapshot_id ..." >> $logfile
fi
done
Automate the Amazon EBS Snapshot Lifecycle - Amazon Elastic Compute Cloud。
可能会更容易
此功能可以使用定义的保留策略定期自动创建快照。
只需将其配置为创建每日快照并保留 7 天。
至于每月快照,既然你显然想永远保留它们,只需触发一个每月创建一次快照的cron
作业。不需要保留逻辑,因此它只是一个简单的 aws ec2 create-snapshot
命令。
我想每周 天制作一个快照并删除超过 7 天的快照 但同时,我想保存 一个本月快照。
有人知道如何编辑这些行来制作这个吗?
我每天都用corn执行ebs-snapshot.sh,我需要保存,比如每月第一天做的快照
# How many days do you wish to retain backups for? Default: 7 days
retention_days="7"
retention_date_in_seconds=`date +%s --date "$retention_days days ago"`
[...]
# Purge all instance volume snapshots created by this script that are older than 7 days
for snapshot_id in $(cat /tmp/snapshot_info.txt)
do
echo "Checking $snapshot_id..."
snapshot_date=$(aws ec2 describe-snapshots --output=text --snapshot-ids $snapshot_id --query Snapshots[].StartTime | awk -F "T" '{printf "%s\n", }')
snapshot_date_in_seconds=`date "--date=$snapshot_date" +%s`
if (( $snapshot_date_in_seconds <= $retention_date_in_seconds )); then
echo "Deleting snapshot $snapshot_id ..." >> $logfile
aws ec2 delete-snapshot --snapshot-id $snapshot_id
else
echo "Not deleting snapshot $snapshot_id ..." >> $logfile
fi
done
Automate the Amazon EBS Snapshot Lifecycle - Amazon Elastic Compute Cloud。
可能会更容易此功能可以使用定义的保留策略定期自动创建快照。
只需将其配置为创建每日快照并保留 7 天。
至于每月快照,既然你显然想永远保留它们,只需触发一个每月创建一次快照的cron
作业。不需要保留逻辑,因此它只是一个简单的 aws ec2 create-snapshot
命令。