Wget планирует отправку почты, если время ответа> 5 секунд
Я использую скрипт под названием Responser, который отправляет электронную почту, когда какой-либо из моих сайтов не работает / работает медленно. Я просто хотел проверить, отправляет ли она почту только в том случае, если сайты действительно не работают или работают медленно (так как я проверил его доступ, как только я получил сообщения об ошибках, и сайты в порядке). Я думал об использовании wget
поскольку он показывает скорость и время отклика, и я хочу запланировать его сравнение со сценарием моего респондента, отправляет ли оба письма одновременно с сообщением об ошибке.
У меня установлен постфикс, и я могу отправлять письма, используя mail
Команда на любой почтовый идентификатор из терминала. Я хочу вывод wget http://www.mysite.com
быть отправленным по почте с условием, если время ответа больше 5 секунд. Затем я могу запланировать его запуск каждые 5 минут. Я видел, что у многих здесь хорошие навыки программирования, и я надеюсь, что кто-нибудь сможет мне помочь.
Спасибо!
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
пс. В вашем сценарии для отправки электронного письма добавьте что-нибудь для повторного запуска сценария, который я сделал после того, как письмо было отправлено