gpt4 book ai didi

linux - 停止时自动重启tomcat的shell脚本

转载 作者:太空狗 更新时间:2023-10-29 12:29:59 25 4
gpt4 key购买 nike

如果 tomcat 服务器未运行,我将使用 shell 脚本启动它。我在 cronjob 中运行这个脚本以经常检查它。这是我的脚本

#! /bin/sh
SERVICE=/etc/init.d/tomcat7
STOPPED_MESSAGE="Tomcat Servlet Engine is not running."

if [ "`$SERVICE status`" -eq "$STOPPED_MESSAGE" ]; then
$SERVICE start
fi

但是每当我运行这个脚本时,它都会给我一个错误。如果 tomcat 未运行,则错误为:

[: ILLEGAL NUMBER : * Tomcat Servlet Engine is not running.]

如果 tomcat 正在运行,错误是:

[: ILLEGAL NUMBER : * Tomcat Servlet Engine is running with pid 6130.]

我认为该错误与 $SERVICE 状态有关,但我无法解决。我是 shell 脚本的新手。请帮帮我。

在解决此问题之前,我无法继续前进。

最佳答案

-eq 需要 2 个整数进行比较(参见 man test)。对于字符串,您应该使用 =

或者,您能否更容忍脚本的输出?

if $SERVICE status | grep -q "not running"; then
$SERVICE start
fi

当然使用像monit这样的进程监控工具会好很多或 supervisor .

关于linux - 停止时自动重启tomcat的shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30452225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com