#!/bin/bash
exec >> highload.log
NOTIFY="20"
TRUE="1" FTEXT='load average:' LOAD1MIN="$(uptime | awk -F "$FTEXT" '{ print $2 }' | cut -d, -f1 | sed 's/ //g')"
RESULT=$(echo "$LOAD1MIN > $NOTIFY" | bc)
if [ "$RESULT" == "$TRUE" ]; then echo "============================================== " echo "High load" $LOAD1MIN at $(date '+%d/%m/%Y %H:%M:%S') top -n1 -b | head -n 25 >> highload.log killall -9 httpd
else if (( $(ps -ef | grep -v grep | grep httpd | wc -l) == 0 )) then echo "==============================================" echo Current load $LOAD1MIN at $(date '+%d/%m/%Y %H:%M:%S') echo "Restart apache ..." /etc/init.d/httpd start echo "Apache restarted at" $(date '+%d/%m/%Y %H:%M:%S') fi fi
|