Intereting Posts
Почему я не могу восстановить (почти) все свободное место с помощью resize2fs? Как зашифровать ключ для использования с системой хранения ключей Linux? «Mke2fs -r fs-revision-level» – как это используется? Повышает ли LVM риск потери данных? 1: 1 NAT через VPN VPN Сохранение цветопередачи с разрезом Как сохранить PDF-файлы «text / pdf» на диске из входящей почты в Mutt Есть ли способ заставить Linux отказаться от использования при низком использовании ЦП? Как проверить, установлена ​​ли Java на rhel Остановить netcat, когда VirtualBox закрывается Как заменить левую скобку на sed? Разделить файл на 10 файлов с уникальным элементом в каждом файле и максимальным лимитом числа строк в каждом файле В Linux, как вы видите, что делает другой процесс, если в этом процессе нет журналов? Существует ли стандартная команда Unix для проверки сопряжения английских глаголов? Как уменьшить ошибку "kernel: nf_conntrack: table full, dropping packet"

Как предотвратить повторное уведомление по электронной почте с помощью bash

У меня есть простой скрипт bash, который должен запускаться каждые 10 минут, который проверяет PID любой службы, а если он не найден, он отправляет уведомление по электронной почте:

#!/bin/bash if pgrep "mysql" > /dev/null then echo "MYSQL Running" else echo "ALERT Stopped" # Sends Email Alert blah blah fi 

Проблема в том, что если каким-то образом требуемый сервис отключается постоянно, он продолжает отправлять электронные письма каждые 10 минут. Как я могу настроить проверку, чтобы, если служба отключена и отправлено электронное письмо один раз, никакие электронные письма не должны отправляться до тех пор, пока служба не вернется снова. Затем, если служба впоследствии снова опустится, необходимо отправить новое электронное письмо.

Попробуйте что-то вроде этого:

 #!/bin/bash if pgrep "mysql" > /dev/null then echo "MYSQL Running" rm -f /var/run/.mysql_mail_sent else echo "ALERT Stopped" if [ ! -f /var/run/.mysql_mail_sent ]; then // send your mail here date > /var/run/.mysql_mail_sent fi fi