- Create script
db_monitor.sh
UP=$(pgrep mysql | wc -l);
if ["$UP" -eq 0];
then
curl -X POST -H 'Content-type: application/json' --data '{"text":"MySQL Database is down [SITE_NAME]"}' https://hooks.slack.com/services/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;
systemctl restart mysql;
curl -X POST -H 'Content-type: application/json' --data '{"text":"MySQL Database has been restarted [SITE_NAME]"}' https://hooks.slack.com/services/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;
else
echo "MySQL Database is running [SITE_NAME]";
fi
-
Add
db_monitor.sh
to server
(e.g./etc/scripts/db_monitor.sh
) -
Open
crontab -e
-
Add in script
*/5 * * * * /etc/scripts/db_monitor.sh
-
Save and check cron jobs
crontab -l