Bu komut dosyası var, bu komut dosyasını yürütmek için CRON iş kurmak için kullanıyorum, bu yüzden MySQL hizmetinin çalışıp çalışmadığını kontrol edebilirsiniz; değilse, MySQL hizmetini yeniden başlatın:
#!/bin/bash
service mysql status| grep 'mysql start/running' > /dev/null 2>&1
if [ $? != 0 ]
then
sudo service mysql restart
fi
Cron işi olarak ayarladım.
sudo crontab -e
ve sonra ekledi,
*/1 * * * * /home/ubuntu/mysql-check.sh
Sorun her cron iş yürütme MySQL yeniden .. sunucu çalışıyor olsa bile bunu yapmak için komut dosyası düzeltme MySQL hizmeti yeniden başlatın.
[ ... ]
veya test <TEST>
içinde kullanmaktan kaçının . Kullanımdan kaldırılmış sözdizimleri . [[ ... ]]
Bunun yerine kullanın . Yalnızca kullanmak [ ... ]
ve / veya test <TEST>
zaman [[ ... ]]
olduğu değil mevcut.
if ! (service mysql status | grep 'mysql start/running' &>/dev/null); then sudo service mysql restart; fi
Bunun yaptığı şey, bir alt kabuk başlatılmasıdır, burada service mysql status | grep 'mysql start/running' &> /dev/null
çalıştırılır, adı geçen alt kabuğun dönüş (çıkış) durumu daha sonra if-deyimine geçirilir, daha sonra sıfır olup olmadığını kontrol eder, ve sıfırdan farklı değilsethen
bloğu çalıştırır .