监控所需要的服务进程,如果不存在就记录日志或者报警。
#!/bin/sh
IP=`ifconfig eth0 | grep "inet addr" | cut -f 2 -d ":" | cut -f 1 -d " "`
JAVA_DIR=/usr/java/default/bin/java
MYSQL_DIR=/service/mysql/bin/mysqld_safe
SSH_DIR=/usr/sbin/sshd
log=/job/jk/process.log
for dir in $JAVA_DIR $MYSQL_DIR $SSH_DIR
do
process_count=$(ps -ef | grep "$dir" | grep -v grep |wc -l)
# echo $process_count
for service in java mysql ssh
do
echo "$dir" |grep -q "$service"
if [ $? -eq 0 ]
then
if [ $process_count -eq 0 ]
then
echo "$service is shutdown at `date +"%y-%m-%d %H:%M:%S"`" >> ${log}
echo "-----" >> ${log}
# echo "$service is shutdown at `date +"%y-%m-%d %H:%M:%S"` | mail -s "$IP $service shutdown" zhongwc@cpsdna.com
msg="warning!! ${IP} ${service} is shutdown at `date +"%y-%m-%d %H:%M:%S"`"
# echo $msg
else
echo "$service is running at `date +"%y-%m-%d %H:%M:%S"`" >/dev/null 2>&1
fi
else
continue
fi
done
done