今天公司LD让写个小脚本,监控一个进程是否存在,存在怎退出脚本,如果不存在就发一封邮件给指定邮箱,我是通过守护进程的运行状态来判断该服务的连接情况,并将测试结果显示到标准输出上。
为了方便监控,使用crontab使其每两小时执行一次。
代码:
#!/bin/bash
#
#提示用户输入一个指定守护进程名称,并将其赋予变量n_proc
#echo "Please input a name of process
#read n_proc
#
#搜索变量n_proc中指定的守护进程的进程号,并赋值给变量pidnu
pidnu=$( ps ax |grep -v "ps ax"|grep -v grep |grep $n_proc|awk '{print $1}')
#
echo "checking for \"$n_proc\",please wait..."
#
#判断变量pidnu是否为空,空则证明此进程不存在。
if [ -z "$pidnu" ]
then
echo "The status be stopped..."
mail -s "title" *********@163.com < /root/shell/mail.txt
exit
else
echo "The status be running..."
fi
设置定时任务
[root@localhost ~]# crontab -e 2 * * * * sh ~/shell/status.sh (如果使用定时任务的话,就应该把上面的$n_proc换成指定的某个进程)
邮件已成功发送
转载于:https://blog.51cto.com/yuanye1128/1539594
本文介绍如何使用bash脚本监控指定守护进程的状态,并在进程不存在时通过cron任务发送邮件通知。


1112

被折叠的 条评论
为什么被折叠?



