Shell脚本,用于检查在多台计算机上运行的服务列表的状态,并在检查服务后将电子邮件作为警报发送

时间:2016-07-18 08:57:34

标签: shell unix

我想创建一个shell脚本,首先从多个系统上的文本文件中保存的服务列表中检查服务的状态,然后在执行结束后发送警报邮件。 就像我必须从文本文件中获取输入 1)Ip.txt ="持有不同系统的ip" 2)Services.txt ="它包含服务列表"

这是我的代码:

#!/bin/sh
server_cnt=ip.txt;
serverip= 'cat $server_cnt;
servicename=service.txt;
servicelines= `cat $servicename;
email= 'cat $email.txt'
for i in $serverip
do 

for s in $servicelines 
do
if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
    echo "$SERVICE service running, everything is fine"
else
    echo "$SERVICE is not running"
    echo "$SERVICE is not running!" | mail -s "$SERVICE down" $email

fi
ctr1= `expr ctr1 + 1'
done
ctr2= `expr ctr2 + 1`
done

1 个答案:

答案 0 :(得分:0)

好消息 - 已经有很多程序可以做到这一点!请参阅Monit了解一个受欢迎的内容,但如果您搜索一下,您会发现更多内容。