How do you check MySql status via cron

Posted November 28, 2013 18.8k views
Help, I am trying to setup a cron job that checks mysql status every few minutes and it down restarts it. Currently running the Ubuntu 12.10 WP Stack and have applied the swapfile tutorial too. So if yall can help, please do. ------------------------------------------ # Script #!/bin/bash /usr/bin/mysqladmin ping| grep 'mysqld is alive' > /dev/null 2>&1 if [ $? != 0 ] then sudo service mysql restart fi # Added to cron * * * * * sh -x /homesys-checks/ ------------------------------------------ However it does not work and have know idea why.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
5 answers

How about this in your /etc/crontab

# Restart MySQL if it's down
* * * * *    root      service mysql status || service mysql start

Adapted from :

Are you sure that the script's path is correct? /homesys-checks/ Shouldn't /homesys-checks be /home/sys-checks?

Hello, all

You can create a simple bash script to check if MySQL is running and if not to restart it.


# Check if MySQL is running
sudo service mysql status > /dev/null 2>&1

# Restart the MySQL service if it's not running.
if [ $? != 0 ]; then
    sudo service mysql restart

Run this script every 5 minutes using a cron job like this one:

 */5 * * * * /home/user/scripts/ > /dev/null 2>&1

Hope that this helps!