Bash скрипт за проверка дали apache, nginx, mysql и ssh се изпълняват на сървъра

Имаше нужда от малък лек sh-скрипт, който периодично да проверява дали услугите работят на VPS. По-специално се интересувах от MySQL базата данни, но ако apache, nginx, ssh и т.н. се следят по същия начин, също щеше да е добре за мен. Ясно е, че могат да се използват обемисти системи за наблюдение, но аз съм доста доволен от Ajenti + Munin, които вече съм инсталирал на моя сървър, но те са толкова прости, че (донякъде?) Не знаят как да направят това...

В интернет, разбира се, бяха открити оферти с подобна функционалност, но нещо не ме устройваше във всички, така че въз основа на това, което намерих, написах свой собствен ремикс 🙂 И разбира се, публикувам го, за да го видят всички, може би някой друг ще се нуждае от него и някой може би ще посочи грешки или ще предложи подобрение 🙂

Записваме самия скрипт на произволно място, присвояваме му права за достъп до изпълнение (755) и може да бъде окачен в cron, така че периодично да проверява дали се изпълняват необходимите услуги (по изображение и подобие можете да добавите поне толкова от тях) и, ако е необходимо, да стартирате неактивни ...

След като скриптът бъде изпълнен (ако някоя услуга не е стартирана), ще бъде изпратено писмо от следния тип:

скрипт
Ако всички проверени услуги са стартирани, тогава писмото няма да бъде изпратено, разбира се...

UPD: Добавих и проверка за високо средно натоварване (натоварване на сървъра) към скрипта - ако стойността е висока (имам я 15.0), ще бъде изпратено предупреждение, че натоварването е твърде високо ...