东方通或Tomcat挂机自动重启(Shell脚本监控)

1.新建脚本文件

touch restart.sh
#!/bin/sh
# 服务名称
serviceName="TongWeb"
# 日志地址
log="/opt/monitor/log.log"
# 执行路径
commandPath="/opt/TongWeb/TW_7/bin/startserver.sh"
# 间隔时间(单位:s)
intervalTime=10
while true; do
  now=$(date +"%Y-%m-%d %H:%M:%S")
  # 进程数量
  pid=$(pgrep -f $serviceName | wc -l)
  # 若进程不存在, 则启动服务
  if [ "$pid" -eq 0 ]; then
    nohup >/dev/null 2>&1 $commandPath &
    # 日志输出
    echo "$now $serviceName has been restarted!" >> $log
  else
    echo "$now $serviceName already started!" >> $log
  fi
  sleep $intervalTime
done
# ps: 添加该声明后可通过脚本文件名搜索到进程信息
#!/bin/sh

2.设置脚本开机自启

vi /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
/opt/shell/restart.sh &

3.权限配置

chmod +x /etc/rc.d/rc.local
chmod +x /opt/shell/restart.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以过编写一个 shell 脚本监控 Tomcat 服务的运行状态。下面是一个简单的示例: ```bash #!/bin/bash # 设置 Tomcat 的安装路径 TOMCAT_HOME="/path/to/tomcat" # 检查 Tomcat 进程是否存在 check_process() { process_count=$(ps aux | grep -v grep | grep -c "org.apache.catalina.startup.Bootstrap") if [ $process_count -eq 0 ]; then return 1 else return 0 fi } # 启动 Tomcat start_tomcat() { if check_process; then echo "Tomcat is already running." else echo "Starting Tomcat..." $TOMCAT_HOME/bin/startup.sh fi } # 停止 Tomcat stop_tomcat() { if check_process; then echo "Stopping Tomcat..." $TOMCAT_HOME/bin/shutdown.sh sleep 5 if check_process; then echo "Tomcat could not be stopped." else echo "Tomcat stopped successfully." fi else echo "Tomcat is not running." fi } # 检查 Tomcat 状态 check_status() { if check_process; then echo "Tomcat is running." else echo "Tomcat is not running." fi } # 根据参数执行相应的操作 case "$1" in start) start_tomcat ;; stop) stop_tomcat ;; restart) stop_tomcat start_tomcat ;; status) check_status ;; *) echo "Usage: $0 {start|stop|restart|status}" ;; esac ``` 你可以将上述代码保存为一个脚本文件(例如 `tomcat_monitor.sh`),然后在命令行中运行该脚本并传递相应的参数来执行相应的操作。例如: ```bash ./tomcat_monitor.sh start # 启动 Tomcat ./tomcat_monitor.sh stop # 停止 Tomcat ./tomcat_monitor.sh restart # 重启 Tomcat ./tomcat_monitor.sh status # 检查 Tomcat 状态 ``` 注意替换 `TOMCAT_HOME` 的值为你的 Tomcat 安装路径。这个脚本会检查 Tomcat 进程是否存在,并根据传递的参数启动、停止、重启或检查 Tomcat 的运行状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值