我正在使用一个名为 Responser 的脚本,当我的任何网站出现故障/速度缓慢时,该脚本都会发送电子邮件。我只是想检查它是否仅在网站确实出现故障或速度缓慢时才发送邮件(因为我检查过它,我一收到错误邮件就立即访问,网站正常)。我想使用它,wget
因为它显示了速度和响应时间,我想安排它与我的 responser 脚本进行比较,看看两者是否同时发送邮件并指出错误。
我已经安装了 postfix,我可以使用mail
命令从终端向任何电子邮件 ID 发送邮件。我希望在响应时间大于 5 秒的情况下,将输出发送到邮件。然后我可以安排它每 5 分钟运行一次。我看到这里有很多编程技能很好的人,希望有人能帮助我。wget http://www.mysite.com
谢谢!
答案1
你想要的脚本是这样的:
#!/bin/bash
# by desgua to test server down
#
# This script is supposed to be named ".ping.time.sh" and
# to be put at ~/
# to test what happens when server is down:
# change www.mysite.com for www.serverdown.com
#
# As asked, I supposed you have a script to send mail and named
# ~/.script.to.send.mail.sh
#
sleep 300 # as asked, to run at every 5 minutes
pingtime=$(ping -w 5 www.mysite.com | grep ttl)
echo $pingtime
if [ $pingtime = ] ; then
echo 'down' ; ~/.script.to.send.mail.sh ; else
echo 'up' ; ~/.ping.time.sh
fi
附言:在你发送电子邮件的脚本中,添加一些内容,以便在邮件发送后再次运行我编写的脚本