环境
CentOS7
思路
设置一个死循环,执行脚本时开始启动 httpd 服务,同时开始记录当前时间,然后输出到日志中,再 sleep 14 秒,之后马上开始停止 httpd 服务,同时开始记录当前时间,然后输出到日志中。重复这个死循环。
代码
用vi test.sh
打开文件,按 i 进行编辑,输入下面代码:
#!/bin/shwhile :dosystemctl start httpdcurdate=`date +"%Y-%m-%d %H:%M:%S"`echo [INFO] ${curdate} >> /home/opp/test.log "httpd is starting"sleep 14systemctl stop httpdcurdate=`date +"%Y-%m-%d %H:%M:%S"`echo [INFO] ${curdate} >> /home/opp/test.log "httpd is stopping"done
然后需要创建test.log
这个文件:
mkdir /home/oppvi /home/opp/test.log
然后按Esc
,再按:wq
退出。
输入下面命令开始执行脚本:
./test.sh
等待一段时间,然后按Ctrl+Z
停止脚本,输入下面命令查看日志
vi /home/opp/test.log
可以看到以下内容:
可以看到基本做到了让 httpd 服务每 15s 停止,使用脚本监控并且启动,并计入日志。但是由于程序运行需要花费时间,因此有些时间会超过 15s,但大体思路是这样。
日志规范
工作中要注意日志规范,一般最前面是日志级别:INFO、WARN、ERROR 等。然后是时间和记录内容等。详情可以自己上网查看一下日志规范。
参考
shell脚本每隔几秒执行一次_Ahuuua的博客-CSDN博客shell 获取当前日期,当前时间Linux(centos)新建,删除,移动文件夹和文件的命令_风清扬写代码-CSDN博客Shell 输入/输出重定向 | 菜鸟教程自动监控apache服务状态并重启的shell脚本_风.foxwho(神秘狐)-CSDN博客日志规范总结篇 - 飞翔的荷兰小猪 - 博客园LOG使用规范(整理)如果觉得《centos7日志文件_Shell 脚本自动监控重启 httpd 服务并记录日志》对你有帮助,请点赞、收藏,并留下你的观点哦!