Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
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.
Accepted Answer
Reason could be that Ubuntu 16.04.x is now using systemd instead of Upstart. This results in changed output of service status command.
When you run /usr/sbin/service mysql status in terminal you will notice this:
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2016-09-16 17:46:40 CEST; 1min 30s ago
Process: 25747 ExecStartPost=/usr/share/mysql/mysql-systemd-start post (code=exited, status=0/SUCCESS)
Process: 25744 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 25746 (mysqld)
Tasks: 28
Memory: 128.4M
CPU: 265ms
CGroup: /system.slice/mysql.service
└─25746 /usr/sbin/mysqld
As far as you see, output is changed.
Most important change is this: Active: active (running).
So, if you change your if to: if [[ ! "$(/usr/sbin/service mysql status)" =~ "active (running)" ]], your script should be working fine.
Whole script for reference will be:
#!/bin/bash
PATH=/usr/sbin:/usr/bin:/sbin:/bin
if [[ ! "$(/usr/sbin/service mysql status)" =~ "active (running)" ]]
then
echo " The MySQL service on the server has been stopped. It has now been restarted." | mail -s " MySQL has been restarted" my@email.com
sudo service mysql start
fi
I have a similar script, but it can check other services as well. I recently updated it to work with 16.04:
Hello, both of you.
Thanks for the feedback. That was pretty obvious, when you break it down. I have marked xMudrii’s answer as accepted, because it was a specific answer to the question.
But altso thanks to you sierracircle, I’ll use your script instead. This way I can monitor more services.
Thanks to both of you!