监测服务器服务停止并自动重启

任何在服务器端运行的服务,例如redis  mysql nginx ….. 等都有可能因为故障而停止或崩溃。可以利用shell脚本监听服务,一旦挂点自动重启,减少数据丢失。tou

1.

touch service_reload.sh

 

2.

vi  service_reload.sh

 

写入如下代码,这里以mysql 举例!

#!/bin/sh
echo “hello world!”
basepath=$(cd `dirname $0`; pwd)

while true
do
procnum=`ps -ef|grep “mysqld”|grep -v grep|wc -l`
if [ $procnum -eq 0 ]
then
echo “begin..”
`service mysql start`
echo `date +%Y-%m-%d` `date +%H:%M:%S` “/usr/local/mysql/bin/mysqld start” >>$basepath/shell.log
fi
sleep 1
done

 

保存 执行  ./service_reload.sh &

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注