由于服务器上一些进程莫名的挂掉,需要些一个monitor的bash脚本来监控这些进程:
crontab:
*/1 * * * * /etc/init.d/<script_name> monitor >> /var/log/cron.<script_name>.monitor.log 2>&1
完
#! /bin/bash
#chkconfig info
### BEGIN INIT INFO
# Provides:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description:
### END INIT INFO
MYSQL_NAME='mysql'
APACHE_NAME='http'
function check_process {
search_string=$1
search_result=`nmap localhost|grep -P $1'$'|awk '{print $3}'|grep $search_string`
echo $search_result
if [ "$search_result" = "$search_string" ]
then
echo $"Still exist!"
else
echo $"Not exist!"
/opt/lampp/lampp start >> /dev/null
echo $"Lampp restart!"
echo $"Lampp stop unexpectedly, now it restart by cron!" | mail -s "Breamweb error!" 13482746059@139.com
fi
}
case "$1" in
start)
/opt/lampp/lampp start
;;
stop)
/opt/lampp/lampp stop
;;
monitor)
check_process $MYSQL_NAME
check_process $APACHE_NAME
;;
esac
exit 0crontab:
*/1 * * * * /etc/init.d/<script_name> monitor >> /var/log/cron.<script_name>.monitor.log 2>&1
完
本文介绍了一个使用Bash脚本实现的简单进程监控工具。该脚本能够定期检查MySQL和Apache进程是否正常运行,并在进程异常停止时自动重启它们。此外,脚本还会发送邮件通知管理员进程的状态。
744

被折叠的 条评论
为什么被折叠?



