系统日志监控脚本,程序关闭和启动功能

系统日志监控脚本,程序关闭和启动功能
最近由于工作原因写了一个关于系统日志监控脚本,监控到某些信息后,脚本中进行程序关闭和启动的功能。
详细内容如下:
#!/bin/sh
#current date time
DATE=`date "+%Y%m%d"`

#log file path and name
LOGFILE="log/porgram.log.$DATE"

#program name
PROGRAM="porgram"

#program start command
RESTART_PROGRAM="./porgram -d"

#search string in log
FIND_STRING="malloc ost for main hash failed"
#find string from logfile
grep "$FIND_STRING" $LOGFILE >> grepinfo
if test $? -eq 0
then
#found string
echo "found"
#kill program
PROCESSID=`ps -ef|grep "$PROGRAM"|grep -v grep|grep -v PPID|awk ‘{ print $2}‘`
echo "Kill the $PROGRAM:$PROCESSID program."
kill -9 $PROCESSID

#mv logfile
DATETIME=`date "+%H:%M:%S"`
echo "Mv $LOGFILE $LOGFILE.bak$DATETIME"
mv $LOGFILE $LOGFILE.bak`date "+%H:%M:%S"`
#restart program
while true
do
$RESTART_PROGRAM
NEWPROCESSID=`ps -ef|grep "$PROGRAM"|grep -v grep|grep -v PPID|awk ‘{ print $2}‘`
if test $PROCESSID -gt 0
then
echo "$PROGRAM started"
break
else
echo "try start $PROGRAM again"
fi
done
else
#not found
echo "not found"
fi

时间: 2024-10-07 19:28:13

系统日志监控脚本,程序关闭和启动功能的相关文章

win8怎么打开或关闭快速启动(进入BIOS前的设置)

win8系统之后,系统添加了快速启动功能,这让Windows的启动速度快了不少.但是,任何事物有利有弊,相信不少人在进入BIOS或者重装系统时遇到了麻烦.接下来我们看看在win8及以上版本怎么打开或关闭快速启动功能. 1.打开控制面板 2.点击硬件和声音 3.点击“电源选项” 4.点击“选择电源按钮的功能” 5.点击“更改当前不可用的设置” 6.然后选择“启用快速启动”来打开或关闭快速启动 到这里,全部过程就结束了,然后,你就可以在开机界面轻松的搞定BIOS或者修改计算机的一些设置了!!!

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装、添加程序管理脚本、设置开机启动、反向代理配置、证书分发、添加iptables规则等

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装.添加程序管理脚本.设置开机启动.反向代理配置.证书分发.添加iptables规则等.脚本支持自定义nginx安装版本.设置编译模块.配置监听端口等. 1. Nginx Role规则说明 本脚本用于中间节点(Nginx反向代理)环境的自动化配置,主要内容包括: 安装基础依赖环境: 创建nginx启动用户(支持自定义用户): 下载nginx安装文件(可自定义nginx版本): 解压安装文件: 执行编译安装(可自定义编译参数和

【解决】应用程序无法正常启动(0xc000007b)。请单击“确定”关闭应用程序。

换了SSD硬盘,装了Windows 7 SP1 x64的系统.用了一段时间,突然一天有些软件打不开了.弹出下面的提示 应用程序无法正常启动(0xc000007b).请单击“确定”关闭应用程序.第一时间马上百度搜索.百度上的回答的解决方法我都尝试了几遍,还是不行!不是Directx的问题,也不是缺少dll文件.实在找不到办法. 问题没有得到解决!我就尝试在bing.com上面搜索看看,看见一个解决方法,尝试了一下,结果还真的就给解决了!下面是解决问题的具体操作: SFC检查系统完整性来尝试修复丢失

[Linux]在终端启动程序关闭终端不退出的方法

?? 在终端启动程序关闭终端不退出的方法 普通情况下关闭终端时,那么在这个终端中启动的后台程序也会终止.要使终端关闭后,后台程序保持运行,使用这个指令: nohup 命令 & 如:nohup test.sh &

linux用于后台监控指定程序运行状况的脚本(如果程序死了则重启程序)

#!/bin/sh while true do ps | grep "main_3g" | grep -v "grep" > /dev/null if [ "$?" -ne 0 ] then ls /root/main_3g > /dev/null if [ "$?" -eq 0 ] then chmod 777 /root/main_3g /root/main_3g & echo "main_3

控制服务关闭与启动的脚本

#! /bin/bash # author:wangqd PROC_NAME_1="GameServerClusterR" PROC_NAME_2="grserver" LOG_FILE=/var/log/GM.log CHECK_TIME=$(date +"%Y-%m-%d %H:%M:%S %Y") PROC_OUT='/opt/scripts/cron/.centos-rsync-lock' #check if [ -f $PROC_OUT

tomcat监控脚本(监控进程,测试接口,告警动作为发送邮件)

服务器环境:centos7.2 64位 tomcat8.5.6 tomcat 监控功能共需要两个脚本,如下: initMonitor.sh #!/bin/sh #初始化监控脚本相关变量 export tomcat_name=apache-tomcat-8.5.6 export tomcat_home=/usr/local/apache-tomcat-8.5.6 #测试接口访问地址 export webUrl=127.0.0.1:8080/yanglao/sysUserController/sys

MySQL的keepalived高可用监控脚本

MySQL的keepalived高可用监控脚本 MySQL(或者其它服务)的keepalived高可用监控脚本 开发脚本需求 :我们知道,keepalive是基于虚拟ip的存活来判断是否抢占master的机制的,但是如果我们做了MySQL的keepalived的高可用的时候,就要考虑一种情况的发生,那就是如果机器网卡并没有断,二十由于MySQL服务的不稳定,或者人为的误操作,导致的服务关闭,会引起的结果就是,keepalive并不会切换,因为并不是主master的虚拟ip不存在,而是服务已经停止

nagios自写插件监控某个程序使用物理内存情况

前几天在工作中遇到了一个问题,nagios自写插件,单独测试命令和插件没有问题,但是通过check_nrpe插件调用自写插件的时候会出现问题. 下面是我写的一个插件,主要功能是:输入一个端口号,就可以知道监听该端口号的程序使用物理内存情况. #!/bin/bash if [ $# -ne 1 ];then     echo "Usage:$0 num1"     exit 5; fi PORT="$1" LINE=$(sudo netstat -lnutp|awk