当前访客身份:游客 [ 登录 | 加入 OSCHINA ]

代码分享

当前位置:
代码分享 » Shell/批处理  » 配置/脚本/批处理
分享到: 
收藏 +0
0
由于工作中需要对Windows Server2008下服务器Tomcat 进行监控及自动重启。所以编写此脚本实现服务进程的监听,在非正常状态情况下实现服务的重启。
标签: Tomcat Windows

代码片段(1) [全屏查看所有代码]

1. [文件] check_tomcat_status_restart.bat ~ 2KB     下载(56)     跳至 [1] [全屏预览]

@echo off

title 统一数据交换平台自动化运维脚本

::检测时间间隔,单位:秒
set _initerval=15
::需要守护的进程
set _processName=hspexgserver.exe
::需要守护进程启动命令
set _processCmd=C:\HSP-EXG_v1.00.00.1026_mengdong\HSP-EXG_v1.10.00.1000_mengdong\SecII\managerServer\bin\
::需要守护的进程预估启动完毕所需赶时间,单位:秒
set _processTimeout=10
::需要守护的进程所监听的端口
set _port=10011
::进程用户名,一般是Administrator
set _username=mdadmin

echo -----------------------------------------
echo   统一数据交换平台自动化运维脚本
echo     石岩编写于20160726
echo     shiyan31214@163.com
echo -----------------------------------------
  
echo  脚本实现平台状态监测,当发现服务处于非正常状态时,自动重启启动服务恢复正常运行。每隔5分钟进行扫描一次

echo  -----------------------------------------

:LOOP
set /a isAlive=false

::通过进程名称检测
tasklist /FI "username eq %_username%"| find /C "%_processName%">D:\temp.txt
set /p num=<D:\temp.txt
::del /F D:\temp.txt

::通过进程的端口是否正在被监听检测
netstat -an|find /C "0.0.0.0:%_port%">D:\temp1.txt
set /p num=<D:\temp1.txt
::del /F D:\temp.txt

if "%num%"=="0" (
start /D "%_processCmd%" startup.bat| echo 启动%_processName%于%time%
choice /D y /t %_processTimeout%>nul
)

if "%num%" NEQ "0" echo 已经启动

ping -n %_interval% 127.0>nul
choice /D y /t %_initerval%>nul

goto LOOP


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(1)

  • 1楼:CraneH 发表于 2018-06-07 23:39 回复此评论
    感谢分享!!学习了