前言

nginx 服务启动后,我们需要对其服务状态进行监控,今天学习过程中了解到一段非常有用的小脚本,不仅可以监控Nginx,也可以用来监控其他服务

脚本

A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then/usr/local/nginx/sbin/nginxsleep 2if [ `ps -C nginx --no-header |wc -l` -eq 0 ];thenkillall keepalivedfi
fi

脚本解析

ps -C nginx –no-header

这里涉及ps 的用法,我们一般用ps查看相关进程,一般都是用
ps -ef | grep XX 或 ps -aux| grep XX 的模式
如下:

[root@bogon ~]# ps -ef | grep nginx
root       2248      1  0 19:13 ?        00:00:00 nginx: master process ./nginx
nobody     3265   2248  0 20:16 ?        00:00:00 nginx: worker process
root       4791   4742  0 22:05 pts/1    00:00:00 grep --color=auto nginx

但是这样通常都会覆盖一个grep的进程
我们可以用ps -C 或ps -c 的方式, -C 后面接命令的名字 ,如下:

[root@bogon ~]# ps -C nginxPID TTY          TIME CMD4983 ?        00:00:00 nginx4984 ?        00:00:00 nginx

–no-header 就是去挑title,如下:

[root@bogon ~]# ps -C nginx --no-header4983 ?        00:00:00 nginx4984 ?        00:00:00 nginx

wc -l 这个很熟悉了,行数计算

所以用这种方式可判断,如果
ps -C nginx --no-header|wc -l

如果值为0,即代表服务未启动
如果值为非0,即代表服务已启动

还有一个知识点,killall keepalived 这个是以服务名称杀死进程,日常中也用的挺多的

举一反三

上面那段完整的脚本意思即为:
判断nginx 服务是否启动
如果未启动,执行启动命令
再次判断,如果启动失败,关掉keepalived,进入从节点
关于Nginx的主从我们后面会实操后记录

最重要的一点是,这段脚本不仅可以用来监控Nginx,其他服务也是可以的,模式是一样的,大家可以自行试试

参考连接:
Nginx学习笔记3:Shell脚本检测Nginx服务状态 : https://www.jianshu.com/p/0df46255dd1c

Nginx学习笔记3:Shell脚本检测Nginx服务状态相关推荐

  1. nginx 学习笔记(2) nginx新手入门

    这篇手册简单介绍了nginx,并提供了一些可以操作的简单的工作.前提是nginx已经被安装到你的服务器上.如果没有安装,请阅读上篇:nginx 学习笔记(1) nginx安装.这篇手册主要内容:1. ...

  2. 全是精髓!也许是最完美的“Nginx学习笔记”了,阿里云高工“365”天手写!

    前言 "Nginx",一个高性能的HTTP和反向代理web服务器,Nginx因为内存少.并发能力强的特性,深受虚拟机主机提供商的欢迎,可以支持高达50000个并发连接数的响应.Ng ...

  3. Nginx 学习笔记

    Nginx 学习笔记 文章目录 Nginx 学习笔记 1.Nginx 的简介 1.1正向代理 1.2反向代理 1.3负载均衡 1.4动静分离 1.5Nginx的安装 1.6Nginx的常用命令 1.7 ...

  4. shell脚本使得nginx日志每天定时切割压缩

    Linux下添加shell脚本使得nginx日志每天定时切割压缩 对于nginx的日志文件,特别是access日志,如果我们不做任何处理的话,最后这个文件将会变得非常庞大 这时,无论是出现异常时查日志 ...

  5. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

  6. 开发shell脚本检查Nginx实战分享

    开发shell脚本检查Nginx实战分享 点这里查看视频讲解 一.本脚本实现功能: 1.自动检查Nginx下面的代理节点是否正常 2.通过页面显示状态,有问题的节点给出页面报警及声音报警. 3.增加新 ...

  7. nginx学习笔记-01nginx入门,环境搭建,常见命令

    nginx学习笔记-01nginx入门,环境搭建,常见命令 文章目录 nginx学习笔记-01nginx入门,环境搭建,常见命令 1.nginx的基本概念 2.nginx的安装,常用命令和配置文件 3 ...

  8. 【005】Nginx学习笔记-Nginx真实IP

    [005]Nginx学习笔记-Nginx真实IP 真实IP 客户端真实IP 深入理解真实IP 实验一 实验二: 多个代理服务器的情况 实验三:利用realip模块获取客户端真实IP 实验四:伪装请求头 ...

  9. 宝塔linux shell定时访问url,bt(宝塔)面板添加shell 脚本通过nginx日志封访问频率过高的IP...

    额,这篇文章是bt(宝塔)面板来写的文章,其他的程序如果是wdcp管理面板也有添加shell脚本的功能,大鸟自己用的是bt(宝塔)面板,所以说说如何添加shell 脚本通过nginx日志封访问频率过高 ...

最新文章

  1. spring cloud alibaba版本选择
  2. php(wamp安装问题)
  3. github使用心得
  4. php 浏览器能请求post_PHP解析微视无水印播放地址原理分析
  5. spring boot高性能实现二维码扫码登录(中)——Redis版
  6. jQuery中position()与offset()区别
  7. 使用god来自动启动崩溃的进程
  8. mvc图片上传到服务器
  9. 【论文阅读笔记】Securing software by enforcing data-flow integrity
  10. 西瓜决策树-ID3算法
  11. 基于微信小程序的医院预约挂号系统设计与实现 毕业设计论文 课题题目参考(2)后台管理功能和界面效果
  12. 12306春运火车票抢票攻略——3分钟抢到热门票
  13. iframe框架下的子父级页面监控页面关闭事件
  14. java表格组件_表格组件 java
  15. 清华大学教授张长水:基于小样本学习的计算机视觉应用
  16. 问答系统概述(待续)
  17. 【NAS】如何利用群晖备份文件
  18. Android获取GPS网络定位经纬度信息
  19. 支付--支付宝APP支付
  20. JQuery EasyUI Datagrid 清空排序状态(箭头)代码

热门文章

  1. c fun函数求n个整数的平均值_Python语法示例——函数
  2. android hook 模拟点击_手把手讲解 Android Hook-实现无清单启动Activity
  3. poj 1330(LCA)
  4. 十八年开发经验分享(二)问题解决篇(上)
  5. uniapp ios时间戳获取不到_uni-app打包编译成安卓及ios包并上传发布测试版
  6. html5 渐变按钮练习
  7. 如何根据configure.ac和Makefile.am为开源代码产生当前平台的Makefile
  8. Codeforces Round #296 (Div. 2) C. Glass Carving [ set+multiset ]
  9. 常用的php.ini 配置选项
  10. symmetry methods for differential equations,exercise 1.4