我使用 Oracle Virtualbox 从命令行管理我的虚拟机。我正在使用 cronjob 每天对它们进行快照。但毕竟我只想保留 7 个最新的快照。
有没有办法在 shell 脚本中执行此操作?运行快照脚本后,它应该查找超过 7 天的快照(实际上应该只有 1 天)并合并/删除它们。
我的 cron 脚本如下所示:
NOW=`date +"%m-%d-%Y-%T"`
SNAPSHOT_NAME="snapshot_$NOW"
SNAPSHOT_DESCRIPTION="Snapshot taken on $NOW"
VBoxManage snapshot vm take "$SNAPSHOT_NAME" --description "$SNAPSHOT_DESCRIPTION"
答案1
我将从名称中删除时间戳并附加此内容。
7DAYS_AGO=`date -d "7 days ago" +"%m-%d-%Y"
vboxmanage snapshot vm delete snapshot_$7DAYS_AGO