Информирование о завершении работы программы по почте

Решенные задачи, первая запись - описание решения.
Ответить
KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Статьи: 18
Проекты: 4
Репутация: 122
Откуда: Казань

Информирование о завершении работы программы по почте

Сообщение KolesovDmitry » 24 май 2014, 12:30

Иногда нужно запускать "долгоиграющие" скрипты или команды, которые выполняются в течени нескольких часов или даже суток. И бывает очень обидно, когда приходишь посмотреть результаты работы такой программы через день-другой, и выясняется, что упала с ошибкой на втором часу работы. Бывает и наоборот -- постоянно подбегаешь к компьтеру, чтобы посмотреть, не завершились ли вычисления, а они все никак не прекратятся.

Поэтому удобно использовать небольшой скрипт, который будет по завершении программы посылать на почту письмо о том, что вычисления прекратились. Содержимое скрипта может быть таким:

Код: Выделить всё

#!/bin/sh

PROGRAM=$1

$PROGRAM

if [ $? -eq 0 ]
then
  MESSAGE="Корректное завершение $PROGRAM"
else
  MESSAGE="Завершение $PROGRAM с ошибкой"
fi

echo "$MESSAGE" | mail -s "Report" user@mail
Естесственно, что вместо user@mail должен быть указан актуальный почтовый адрес, а сама программа mail настроена так, чтобы она была способна посылать письма.

Предположим, что скрипт называется run-and-mail, тогда он испльзуется таким образом:

Код: Выделить всё

run-and-mail my_very_slow_script &
где my_very_slow_script -- наша долгоиграющая программа.

Ответить

Вернуться в «Рецепты»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость