I can run this script fine from the terminal and I get the else but when I have cron set to run it every 5 minutes I am sent a email and the mysql server is restarted every 5 minutes. So I am guessing that the cron job does not have the correct permission to see if the process is running, so it restarts the server and sends an email. How would I get this script to execute from cron and be able to check if mysql process is running?
#!/bin/sh UP=$(service mysql status | grep 'mysql start/running' | wc -l); if [ "$UP" -ne 1 ]; then sudo service mysql start cat /var/db-backup/mysql_restart_email | msmtp email@example.com else echo "All is well."; fi
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.