环境
CentOS7
思路
设置一个死循环,执行脚本时开始启动 httpd 服务,同时开始记录当前时间,然后输出到日志中,再 sleep 14 秒,之后马上开始停止 httpd 服务,同时开始记录当前时间,然后输出到日志中。重复这个死循环。
代码
用 vi test.sh 打开文件,按 i 进行编辑,输入下面代码:
1#!/bin/sh 2while : 3do 4 systemctl start httpd 5 curdate=`date +"%Y-%m-%d %H:%M:%S"` 6 echo [INFO] ${curdate} >> /home/opp/test.log "httpd is starting" 7 sleep 14 8 systemctl stop httpd 9 curdate=`date +"%Y-%m-%d %H:%M:%S"` 10 echo [INFO] ${curdate} >> /home/opp/test.log "httpd is stopping" 11done
然后需要创建 test.log 这个文件:
1mkdir /home/opp 2vi /home/opp/test.log
然后按 Esc,再按 :wq 退出。
输入下面命令开始执行脚本:
./test.sh
等待一段时间,然后按 Ctrl+Z 停止脚本,输入下面命令查看日志
vi /home/opp/test.log
可以看到以下内容:

可以看到基本做到了让 httpd 服务每 15s 停止,使用脚本监控并且启动,并计入日志。但是由于程序运行需要花费时间,因此有些时间会超过 15s,但大体思路是这样。
日志规范
工作中要注意日志规范,一般最前面是日志级别:INFO、WARN、ERROR 等。然后是时间和记录内容等。详情可以自己上网查看一下日志规范。