当前位置: 首页 > news >正文

apache启服务命令_Windows服务器设定自动重启Apache服务的操作记录

当初也是一不小心入了Windows的坑,导致很多东西都运行的不太顺畅。这不偶尔会发现windows下的Apache服务会吊死,也可能是其他问题导致,然后产生了网站假死,没有任何反应的情况。但只要后台一重启Apache服务,立马就恢复了。但也不能实时一直24小时监测着,网上找找下,也没发现什么好的解决办法。那没辙,只能用土办法了。定时给Apache服务重启一下,看看有没有效果。

定时重启涉及到服务器的操作,并且必须要满足这2个条件:

  • 必须全自动运行,无需人工干涉;
  • 要能记录相关的操作,即留下日志。

服务器现在都支持了计划任务,应该不是什么难事的。那就开始吧。

创建批处理文件+日志保存文件

首先知道服务的重启是没有restart这个参数的,net命令支持start#启动,stop#停止。重启就等于=停止+启动。也就是把命令多2行了。就是:
net stop apache2.4
net start apache2.4

539c6fe5a7e00416b72b50a4047dd746.png

接下来就是要把这命令保存成一个批处理文件,让计划任务自动运行该批处理文件,然后运行的情况记录下了。为了在日志文件中能够看到当前服务运行的日期时间,所以还得加2条命令,就是:

b609e5ef9b74ebbda0c40766fb7307c9.png

date /t
time /t,之所以加上/t 的参数就是避免需要人工输入日期、时间的。否则系统会一直等待输入,无法继续往下走了。则批处理文件就比较简单了,命名为restart.Apache.bat。

下一步则是需要用另外一个命令,将该批处理的文件的日志保存到系统文件当中。
日志的保存,则新建一个log的文件夹专门用来放日志,并对日志的命名使用按日期、时间来,方便后续的查看。例如 20190428-103410.log 这样的,一眼就能知道是什么时候的文件。那需要截取下当前日期、时间,并将之嵌入到文件名中来。可见需要使用截取法,将时间、日期获得,具体的参数为:
%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%

%date:~0,4%意思为从左边开始偏移0位,并取4位数字的意思。这里是把中间的-去掉了,如果需要的话可以直接简写成%date:~0,10%,就获得了2019-04-28 这样的日期格式。时间的话因为文件名中不能有:的存在,所以必须使用截取再合并的方法了。

2d4c4a9253ea19799f058328fe5c5bc4.png

这样子的话,就可以日志的的文件名与运行的日期时间相关,并确保了唯一性了。文件命名为savelog.bat。
整体的命令就是:
restart.Apache.bat >log/%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%.log
把restart.Apache.bat 、savelog.bat 两个文件放一个文件夹下,并在同一个文件夹下新建log文件。

加入系统计划任务中

文件准备好了, 接下来就是让自动运行了。
打开服务管理器,工具中的任务计划程序,在右侧操作栏点击“创建任务”。

bc0137eefa1a6137bc38db4191bc2808.png

选项卡:常规,输入名称 Apache服务自动重启,因为服务的命令行操作务必需要管理员权限的,如果不是默认的administrator的话则需要先打开它并设置密码,空密码是不行的。并且选择 不管用户是否登录都要运行,避免没有登录的时候就无法运行了。
触发器:选择新建,设置为每天,并选择运行的开始时间,每天则为间隔一天就运行一次了。
操作:选择新建,在新建操作中,选择启动程序,在程序或脚本中找到savelog.bat。并且一定要在起始于(可选)这里填上bat文件所在的文件夹,否则运行将报错0x1代码。
条件、设置两个选项卡可以默认,无需修改。保存时,系统会提示输入administrator的密码。则可以在窗口列表中看到已经创建成功的计划任务。

8f3909f2a895fe24b79984101db796bf.png

当然这个操作也可以通过schtasks.exe这个命令来完成。

测试一下看看效果怎样:
可见确实自动停止了服务,并正常重新启动了。在日志文件夹中也自动生成了记录。

cb456d988672ae4e0bfed3adbd4c40ce.gif

40010c111f19a50f5c7e78908ccb06fd.png

至此算是调测成功,下一步则把触发的时间修改到半夜,再保存即可。
至于效果如何,则需要时间的检验了。

修正输入日志文件名的问题:

经过2天的测试,的确可以自动重启Apache服务器,但是生成的日志文件名出了点问题。文件名是20190429-、20190430-这样的,后缀也没有了。用记事本或者notepad++都可以打开,记录是没有问题的。但是就是log的文件名出了问题。

60d735fe4dcba7a60f1310cb4f882456.png

检查后发现,测试的时候是11点多,time得到的时间是正常的时间,但自动运行的时间是10点之前,即时间是如图的格式。导致了命令取得的字符出错。问题在这里了,然后取左边1位也不行,取5位也不行,那反其道而行之从右边开始取数,就是一个比较稳定的情况了。
保存的命令修正如下:
restart.Apache.bat >log/%date:~0,4%%date:~5,2%%date:~8,2%-0%time:~-10,1%%time:~-8,2%%time:~-5,2%.log

更多:

Windows服务器设定自动重启Apache服务的操作记录​www.iappi.cn
3650837c70b98910e498e050a530a7aa.png

相关文章:

  • 项目怎么部署到服务器上_云服务器部署python项目
  • 转换成jpg 免安装_格式工厂 2020最新版(无广告、免安装)
  • git提交文件例子_Git学习之路(3)-提交文件到三个区
  • 1个平方大概多少立杆_1、1.5、2.5、4、6平方电线可以负荷多少瓦?多少电流?...
  • 什么舱位_又涨了又涨了……舱位紧张,你还在观望什么?
  • ubuntu上安装python3_ubuntu16.04安装python3的包报错
  • 手机天线_从大哥大到iPhoneXS,手机天线进化史与5G新挑战
  • cmd sqlplus远程连接_Oracle数据库远程连接设置的四种方法及其注意事项
  • python预处理c语言_C语言之预处理指令
  • 如何用法向量求点到平面距离_平面的方程
  • extjs中store获取后台数据_Ext.Ajax请求下获取的数据如何应用到store中
  • c++ vscode 代码颜色_【vscode教程】教你用vscode一键编译运行c++代码
  • handsontable中文文档_最近使用handsontable遇到的问题
  • 自适应自旋锁_自适应自旋锁--吞吐量和延迟以及管理开销的折中
  • config kubectl_Kubernetes - kubectl config set-credentials - 中文文档
  • ECMAScript6(0):ES6简明参考手册
  • ES6语法详解(一)
  • interface和setter,getter
  • JavaScript实现分页效果
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • 初识 beanstalkd
  • 对JS继承的一点思考
  • 复习Javascript专题(四):js中的深浅拷贝
  • 搞机器学习要哪些技能
  • 计算机在识别图像时“看到”了什么?
  • 跳前端坑前,先看看这个!!
  • 为视图添加丝滑的水波纹
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 函数计算新功能-----支持C#函数
  • ​业务双活的数据切换思路设计(下)
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (007)XHTML文档之标题——h1~h6
  • (javascript)再说document.body.scrollTop的使用问题
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (排序详解之 堆排序)
  • (生成器)yield与(迭代器)generator
  • (转)关于多人操作数据的处理策略
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .net打印*三角形
  • .NET多线程执行函数
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • /usr/bin/env: node: No such file or directory
  • @angular/cli项目构建--http(2)
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [autojs]autojs开关按钮的简单使用
  • [C#]手把手教你打造Socket的TCP通讯连接(一)