我正在将应用程序部署到AWS EC2实例,并且我在.ebextensions文件夹中使用配置文件来执行bash脚本。
在脚本中我检测特定服务是否正在运行,如果它没有运行,请使用rpm安装软件包。
#!/bin/bash
service --status-all | grep -q 'MyService'
if [ $? -ne 0 ];
then
install my package
else
do nothing
fi
但是脚本无效,它总是再次安装我的服务。
这是因为
service --status-all
什么都没有让我感到困惑!但是在部署之后,当我转到EC2实例并尝试使用脚本时,它确实有效。只是它在部署期间不起作用。
应该至少有一些服务在运行但是空了吗?
我这样做是否正确?
答案 0 :(得分:0)
弄清楚什么是错的,把它放在这里供大家参考。
service --status-all
在bash提示符下工作,但在我的AWS EC2部署期间似乎没有返回任何内容。
我已将其更改为
if ps ax | grep -v grep | grep -q 'My Service'
它完美无缺。