关于linux服务器进程监控及自动重启的简单方案

转载请注明出处:帘卷西风的专栏(http://blog.csdn.net/ljxfblog)

本周开始,新手游进行删档封测阶段,前两天表现还好,今天更新后出现几次宕机行为,比较影响玩家的测试和体验,我们的服务器管理系统尚未完善,为了晚上能够预防宕机造成损失,先用一种简单的方案临时顶替一下。

实现原理主要是使用linux提供的crontab机制,定时查询服务器进程是否存在,如果宕机则处理我们预设的脚本。

首先我们要向crontab加入一个新任务。

# crontab -e:进入编辑状态,其实就是使用vi编辑。

*/1 * * * * sh /root/monitor.sh

我这里只是简单的设置每分钟调用一个shell脚本monitor.sh。这里可以配置的更强大,大家可以去搜索一下crontab的教程,网上有很多这类的教程。

这里需要注意的是,很多教程配置command的时候直接使用/root/monitor.sh,我设置的时候发现这样配置不会执行shell脚本,前面加上sh后就能执行了。

然后我们开始写monitor.sh这个shell脚本。

#! /bin/sh  

proc_name="WorldFrame_d"        #进程名

proc_num()                      #查询进程数量
{
    num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
    return $num
}

proc_num
number=$?                       #获取进程数量
if [ $number -eq 0 ]            #如果进程数量为0
then                            #重新启动服务器,或者扩展其它内容。
    cd /longwen/server/sbin/linux; ./WorldFrame_d -c 1
fi

我这个脚本,只是简单的检测了进程是否存在,不存在就自动重启服务器。

这里其实也可以扩展一下,比如对日志文件的处理以及重启时间等的记录等等。

需要注意的是在windows编辑sh文件要注意格式问题(CR/LR),否则容易出现sh执行错误的BUG。

好了,进行测试吧,我这里测试OK,记录一下,希望能帮到其它遇到类似问题的同学。

时间: 2024-10-17 03:38:44

关于linux服务器进程监控及自动重启的简单方案的相关文章

linux下监视进程挂掉后自动重启的shell脚本

本文介绍的这个shell脚本,通过一个while-do循环,用ps -ef|grep 检查loader进程是否正在运行,如果没有运行,则启动,确保崩溃挂掉的进程,及时自动重启. 脚本内容如下: #!/bin/sh while : do echo "Current DIR is " $PWD stillRunning=$(ps -ef |grep "$PWD/loader" |grep -v "grep") if [ "$stillRun

用 Python 脚本实现对 Linux 服务器的监控

hon 分享到:8 原文出处: 曹江华 目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对 Linux 服务器的监控. 本文介绍一下使用 Python 脚本实现对 Linux 服务器 CPU 内存 网络的监控脚本的编写. Python 版本说明 Python 是由 Guido va

Linux服务器上监控网络带宽的18个常用命令

Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 一些命令可以显示单个进程所使用的带宽.这样一来,用户很容易发现过度使用网络带宽的某个进程. 这些工具使用不同的机制来制作流量报告.nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息;而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而

tomcat健康状态监控并自动重启短信报警

#!/bin/sh PATH=/usr/local/jdk1.5.0_19/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin JAVA_HOME=/usr/local/jdk1.5.0_19 CLASSPATH=.:/usr/local/jdk1.5.0_19/lib:/usr/local/jdk1.5.0_19/lib/t

Linux服务器上监控网络带宽的18个常用命令nload, iftop,iptraf-ng, nethogs, vnstat. nagios

Linux服务器上监控网络带宽的18个常用命令 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具.这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度.入站流量和出站流量分开来显示. 这些工具使用不同的机制来制作流量报告.nload等一些工具可以读取"proc/net/dev"文件,以获得流量统计信息:而一些工具使用pcap库来捕获所有数据包,然后计算总数据量,从而估计流量负载. 下面是按功能划分的命令名称. 监控总体带宽使用――nload.bmon.sl

Tomcat监控助手-自动重启相关服务

功能说明 该小工具使用swing实现,实现监控某个服务地址,在异常时(连续3次访问不通)自动重启tomcat,并启动配置好的抓取项. 先看下效果图: 代码说明 下面是代码:配置文件TomcatMonitor.properties 1234567891011121314151617181920 #tomcat的启动脚本位置tomcat.home=D:/luckystar88/soft/apache-tomcat-8.5.6/bin/startup.bat#tomcat服务监控地址listen.ur

服务器凌晨莫名奇妙自动重启解决方案

服务器凌晨莫名奇妙自动重启解决方案 转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47609701 问题描述: 这两天早上到公司,发现公司服务器莫名其妙的自动重启了,没有任何征兆!第一天的时候以为是公司电源出了问题,就没怎么在意.结果第二天又出现了同样的问题!这样就有问题了,上面可是跑了很多重要的程序! 问题分析: 1.  有考虑过公司电源出问题,插座松动什么的,后来排除不是. 2.  有考虑过是否中毒,用360杀毒排查了一下

Linux服务器性能监控工具Glances 安装过程与简单介绍

一.Glances: Glances 是一款非常不错的跨平台的性能监控工具,提供了CPU.CPU队列.内存.虚拟内存.网络.I/O和最占用服务器的资源的进程列表等,应该就这些了吧,提供了这些 指标的监控信息,并且在运行时会根据资源的占用情况适用不同的颜色标注其重要程度,非常直观,下面是使用中的截图: 二.Glances安装:   Glances的安装还是比较简单方便的,由于Glances是由python编写的,最好适用python的库管理工具pip来自动安装.并且使用工具 也将安装过程简单的.

linux服务器 Zabbix监控部署

系统版本:CentOS 6.5  软件版本:zabbix-2.4.6.tar.gz zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 功能与特点 功能:监控CPU负荷.内存使用.磁盘使用.网络状况.端口.日志.等自定义开发的插件 特点:安装与配置简单,学习成本低.支持多语言(包括中文).免费开源.自动发现服务器与网络设备 SNMP.