我的环境中的linux盒子上有一个脚本来循环一系列应该一直运行的服务,如果没有运行,请给我发一封电子邮件。
现在,除了两个问题外,似乎工作正常。我真的很感激一些帮助和见解。我的大多数背景来自Python和Powershell。
脚本是每10分钟运行一次的cron作业。下面是脚本和服务列表的全文,以及脚本发现服务失效时会发生什么情况的屏幕截图。
脚本
#!/bin/bash
while read services; do
#Run Command to get Service Status, store results as string variable
service_status=$(service $services status)
#Check if the service is NOT running.
if [[ "$service_status" != *"is running..." ]];
then
mail -s "Service $services is down on [SERVER]" [EMAIL ADDRESS]
elif [[ $service_status == *"is running..." ]];
then
:
else
mail -s "ERROR IN SCRIPT, unable to get $services status on [SERVER]" [EMAIL ADDRESS]
fi
done < /home/services.txt
services.txt的
hostcontect
hostservices
ecs-ec
ecs-ep
imq
tomcat
httpd
停机服务的电子邮件提醒
SUBJECT: "Service hostservices is down on [SERVER]"
BODY:
ecs-ec
ecs-ep
imq
tomcat
httpd
答案 0 :(得分:2)
mail
从标准输入中读取电子邮件的正文。在您的情况下,输入文件被重定向到stdin,因此它会被读取。告诉邮件从其他地方读取身体,例如
mail -s ... < /dev/null