千家信息网

windows下bat脚本自动重启Apache服务

发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,问题描述客户使用的集成环境phpstudy,上面运行的是php+apahce+mysql,经常无故apache异常导致网站无法打开,需要重启apache服务恢复。由于不方便变更基础环境,故考虑使用ba
千家信息网最后更新 2025年02月06日windows下bat脚本自动重启Apache服务
问题描述

客户使用的集成环境phpstudy,上面运行的是php+apahce+mysql,经常无故apache异常导致网站无法打开,需要重启apache服务恢复。由于不方便变更基础环境,故考虑使用bat脚本自动检测网站是否正常判断是否需要重启apache服务。

准备工作
1、由于借助curl命令测试网站是否正常,需提前安装配置好curl命令。https://curl.haxx.se/download.html#Win64下载对应的版本安装,并配置好环境变量。(在cmd中能使用curl命令)2、最好将apache注册为系统服务,这样方便使用net重启服务。否则就要指定目录去重启。(注册系统服务推荐使用nssm)
注册系统服务
# 如果已是系统服务跳过此步骤,比如phpstudy上可注册为系统服务1、下载,解压安装官网:http://nssm.cc/download根据操作系统选择32位或64位nssm,在该目录启动命令行窗口,建议写入path环境变量2、服务注册(此处是之前注册logstash的截图)nssm install logstash接下来会弹出一个框,在path处选择启动logstash的start.bat点击Install service即可填写应用程序的对应路径、设置Service name。最后单击install service按钮,执行安装。

编写脚本
::Auto restart apache@echo offset url=http://www.*****.comecho %url%for /f %%z in ('curl -so /dev/null -w %%{http_code} %url%') do (set result=%%zecho %%z)if %result% NEQ 200 (::echo %date%%time% %url% 无法打开 错误代码 %result% >>C:\log\%date:~0,4%%date:~5,2%%date:~8,2%ERROR.lognet stop apache2anet start apache2a) else (::echo %date%%time% %url% 网页可以打开 代码 %result% >>C:\log\%date:~0,4%%date:~5,2%%date:~8,2%SUCCESS.logecho %date%%time% %url% 网页可以打开 代码 %result%)
设置任务计划定期执行

自定义任务计划,重复执行检测


0