linux - 用于检查创建的 AMI 是否可用的脚本,

标签 linux bash shell amazon-web-services scripting

我正在尝试编写一个脚本,我们在其中备份 AMI(亚马逊机器镜像),一旦它完成并且它的状态显示“可用”,而不是通过电子邮件通知我们。

我已经涵盖了第一部分,但第二部分有问题,即不断检查图像何时可用并给我们发送电子邮件。要检查状态是否可用,我使用以下命令,

/usr/bin/aws ec2 describe-images --image-ids=$AMI_ID --query "Images[*].{st:State}" |  grep -e "available" | wc -l'

当 AMI 可用时,这将返回输出 1,但在创建连续运行上述命令以检查输出是否等于 1 的循环时遇到问题。

请帮助找出这个循环。

PS IMAGE 创建需要 10 到 30 分钟,在某些情况下甚至更长时间。

最佳答案

你可以使用无限循环

while true
   do
       if /usr/bin/aws ec2 describe-images --image-ids=$AMI_ID --query "Images[*].{st:State}" |  grep -e "available" | wc -l'; then
          break
       fi
   esac
done

关于linux - 用于检查创建的 AMI 是否可用的脚本,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50616777/

相关文章:

c - 不以 root 身份运行时如何在 linux 中检查登录凭据?

c - 我的代码在 Windows 上运行,但在 Linux 上失败。错误: premature end of file bmp

git - 在使用 sudo bash 运行的脚本中运行没有 sudo 的特定命令

macos - readarray 的替代方法,因为它在 mac os x 上不起作用

bash - 在 bash 中将时间戳转换为日期

shell - 如何在 ammonite shell (amm) 中使用 scala-js

linux - 可以在 curl 配置文件中使用 GET 和 POST

linux - 在 bash 中使用命名管道 - 数据丢失问题

linux - 照顾控制台中的 Linux 内存使用情况摘要

mysql - $ mysql> connect ...(来自 bash)它有什么作用?