У меня есть скрипт bash, который запускается на компьютере (называемом lazyguy), который обычно выключен. Каждую ночь ленивый просыпается в известное время, запрограммированное в BIOS, выполняет кучу обработки и вставляет данные в свою базу данных Postgres. Затем идет в сон (база данных и все).
Как получить уведомление, когда скрипт НЕ запускается? В идеале я хотел бы получить уведомление по электронной почте, если в базу данных ничего не вставлено или если скрипт завершился с ненулевым возвращаемым значением. Я определенно должен проверить оба условия на тот случай, если ленивый проигнорирует свою тревогу и заснет ... снова.
У меня есть другая машина (Taskmaster), которая всегда работает, но имеет ограниченные ресурсы. Некоторые мысли:
Пусть ленивый отправит какое-то сообщение мастеру задач, чтобы указать, что он закончил свою работу по дому (может быть, с добавленным количеством строк). Затем мастер проверяет свой отчет каждый день в определенное время. Если его там нет, напишите мне, и я пошлю болванов, чтобы избить ленивого.
Попросите мастера по вызову вызвать ленивый напрямую с помощью пакета WakeOnLan, подождать две минуты, запустить скрипт через ssh и проверить количество строк в базе данных за день. Если что-то пойдет не так, напишите мне.
Какой подход лучше? Есть ли более простой способ сделать это? Какие технологии вы бы использовали? Я думаю, может быть, какая-то смесь crontab, mailx, logger и, возможно, rsyslog.