![我需要编写一个 bash 脚本来检查服务状态并重新启动](https://linux22.com/image/1134953/%E6%88%91%E9%9C%80%E8%A6%81%E7%BC%96%E5%86%99%E4%B8%80%E4%B8%AA%20bash%20%E8%84%9A%E6%9C%AC%E6%9D%A5%E6%A3%80%E6%9F%A5%E6%9C%8D%E5%8A%A1%E7%8A%B6%E6%80%81%E5%B9%B6%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8.png)
我需要编写一个 bash 脚本来检查服务状态。
我需要在命令输出中查看;/etc/init.d/ipsec status
“1 tunnels up” 行表示服务已启动。
如果该行不是命令输出的一部分,我需要重新启动该服务。
在网上搜索有一些例子,但搜索的是服务 pid,所以我找不到这个特定案例的例子
有没有什么帮助可以完成这个脚本?
答案1
你可以使用grep
未经测试但它看起来像这样
service ipsec status | grep "1 tunnels up"
RET=$?
if [ ! $RET -eq 0 ];then
echo "[!] No tunnels up, better restart"
service ipsec restart
fi