我们有一个类似下面的脚本来监控我们的服务器。在这段代码中,我们的服务器重新启动。有人能解释一下下面脚本的含义吗?
if [ -f $HOME/catalinamonitor ]; then
echo JVM failed;
export JAVA_HOME=/usr/java/jdk1.6.0
$HOME/jakarta-tomcat/bin/shutdown.sh
sleep 30
/usr/bin/killall -9 java 2>/dev/null
$HOME/jakarta-tomcat/bin/startup.sh
rm -f $HOME/catalinamonitor
exit 1
fi
答案1
如果文件$HOME/catalinamonitor
存在,则写入JVM failed
屏幕。输入值/usr/java/jdk1.6.0
并将JAVA_HOME
其设为环境变量。
在 中运行脚本$HOME/jakarta-tomcat/bin/shutdown.sh
,等待 30 秒并终止所有 进程java
。所有输出将重定向到/dev/null
(屏幕上未显示)。
运行以下脚本$HOME/jakarta-tomcat/bin/startup.sh
并删除文件rm -f $HOME/catalinamonitor
。以错误 (1) 终止脚本。
所以基本上,如果文件存在,则杀死所有 tomcat 和 java,然后重新启动它并删除该文件。
答案2
A方式更好的解决方案是使用亚美尼亚联合社会主义者或者类似看门狗的东西。我对 killall 感到畏缩...