#!/bin/sh
#ID
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin
ES_ID=`ps -ef |grep elasticsearch |grep -w 'elasticsearch'|grep -v 'grep'|awk '{print $2}'`
# out
ESMonitorLog=/home/cntic/es-master-monitor.log
Monitor()
{
if [[ $ES_ID ]];then # existence
echo $(date +"%Y-%m-%d %H:%M:%S") "[info] now ES ID:$ES_ID"
else
echo $(date +"%Y-%m-%d %H:%M:%S") "[error]ES ID not found!ES begin auto restart..."
service elasticsearch restart
fi
}
Monitor>>$ESMonitorLog
*/5 * * * * /home/cron/es_monitor.sh
每五分钟执行一次,日志要用(>>) 追加保存到文件(>)只会保存每次,每次执行清空了上次打印
使用系统命令和变量时要先引入