Wget запланировать отправку почты, если время ответа > 5 сек

Я использую скрипт Response, который отправляет электронную почту, когда какой-либо из моих сайтов не работает / работает медленно. Я просто хотел проверить, отправляет ли она почту только в том случае, если сайты действительно не работают или работают медленно (так как я проверил его доступ, как только я получил сообщения об ошибках, и сайты в порядке). Я подумал об использовании wget, так как он показывает скорость и время отклика, и я хочу запланировать его для сравнения со сценарием моего респондента, отправляет ли оба письма одновременно с сообщением об ошибке.

У меня установлен постфикс, и я могу отправлять письма с помощью команды mail на любой идентификатор электронной почты с терминала. Я хочу, чтобы вывод wget http://www.mysite.com был отправлен по почте с условием, если время ответа больше 5 секунд. Затем я могу запланировать его запуск каждые 5 минут. Я видел, что у многих здесь хорошие навыки программирования, и я надеюсь, что кто-нибудь сможет мне помочь.

Спасибо!

1
задан 7 June 2011 в 07:31

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

пс. В вашем сценарии для отправки электронного письма добавьте что-нибудь для повторного запуска сценария, который я создал после отправки письма

0
ответ дан 7 June 2011 в 07:31

Другие вопросы по тегам:

Похожие вопросы: