有人可以告诉我如何完成以下方案:
我在一台机器上运行了3个进程(TC_ME,PS_ME和NM_ME)。当这些服务中断时,他们不会发出任何警报或邮件。
我想基于这些过程编写一个shell脚本,所以每当进程失效时,我都需要一个警报。
将基于此创建自动作业。
答案 0 :(得分:0)
#! /bin/bash
while :
do
RESULT=`ps -ef | grep "TC_ME\|PS_ME\|NM_ME" | grep -v 'grep' | grep -v $0 | wc -l`
if [ "$RESULT" != "3" ]; then
echo `date` ": some of your processes not running"
else
echo `date` ": processes runs"
fi
sleep 10
done
例如
user@host:/tmp$ ./processesCheck.sh
Wed Oct 5 15:54:01 EEST 2016 : some of your processes not running
Wed Oct 5 15:54:11 EEST 2016 : some of your processes not running
Wed Oct 5 15:54:21 EEST 2016 : some of your processes not running
Wed Oct 5 15:54:31 EEST 2016 : some of your processes not running
您还可以重定向到日志文件,如下所示;
user@host:/tmp$ nohup ./processesCheck.sh >> processes.log
答案 1 :(得分:0)
如果我使用下面的命令,其中Ownerserver是所有上述过程的常用词,我可以编辑如下的脚本吗?
同时: 做
RESULT = ps -ef | grep "OwnerServer" | grep -v 'grep' | wc -l
if [“$ RESULT”-gt 1];然后
echo date
“:进程运行”
其他
echo date
“:你的一些进程没有运行”
科幻
睡10
完成了