我必须构建一个脚本来从txt文件读取一些url来检查更新,如果URL没有上次运行脚本时的任何更改,脚本不应该在典型输出中打印任何内容,如果有是脚本应在典型输出(stdout)中打印URL的任何URL的更新(例如 "www.google.com" ) .
如果脚本第一次读取,则应在stdout "www.google.com" INIT 中打印一个URL .
如果在读取我们的URL时出现任何错误,脚本应该在我们的std "www.google.com" FAILED 中打印 .
#!/bin/bash
while read site; do
if [ ! -z "${site}" ]; then
CURL=$(curl -s --head $site)
if echo $CURL | grep "200 OK" > /dev/null
then
echo "The HTTP server on ${site} is up!"
else
MESSAGE="This is an alert that your site ${site} has failed to respond 200 OK."
for EMAIL in $(echo $EMAILS | tr "," " "); do
SUBJECT="$site (http) Failed"
echo "$MESSAGE" | mail -s "$SUBJECT" $EMAIL
echo $SUBJECT
echo "Alert sent to $EMAIL"
done
fi
fi
done < $SITESFILE