无论如何,要改进这个给定的 shell 脚本,它会使用curl 命令不断测试网站吗?

无论如何,要改进这个给定的 shell 脚本,它会使用curl 命令不断测试网站吗?

下面的脚本在失败时通过 Mutt 继续测试给定的网站和电子邮件,使用curl命令,一旦它减少了使用命令的版本中的失败电子邮件ping

请问有什么办法可以改善吗?

如下:

#!/bin/bash
while true; do
    date > /tmp/sdown.txt
    if curl -fI "given.website.com" 1>& /dev/null ;
    then
        sleep 1
        :
    else
        mutt -s "Website Down!!!" [email protected] < /tmp/sdown.txt
        sleep 10
    fi
done

答案1

首先,:之后不需要sleep 1

其次,如果您因其他原因不需要临时文件,您可以简单地date在需要的地方使用它。所以这个脚本可以简化为:

#!/bin/bash
while true; do
    if curl -fI "given.website.com" 1>& /dev/null; then
        sleep 1
    else
        date | mutt -s "Website Down!!!" [email protected]
        sleep 10
    fi
done

相关内容