Shell code:
#!/bin/sh
TOP_SYS_LOAD_NUM=20
SYS_LOAD_NUM=`uptime | awk ‘{print $(NF-2)}’ | sed ‘s/,//’`

echo $(date +”%y-%m-%d”) `uptime`
if [ `echo “$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM”|bc` -eq 1 ]
then
echo “##” $(date +”%y-%m-%d %H:%M:%S”) “pkill httpd” `ps -ef | grep httpd | wc -l`
pkill httpd
sleep 10
for i in 1 2 3
do
if [ `pgrep httpd | wc -l` -le 0 ]
then
/usr/local/apache2/bin/apachectl start
sleep 30
echo “##” $(date +”%y-%m-%d %H:%M:%S”) “start httpd” `ps -ef | grep httpd | wc -l`
fi
done
else
if [ `pgrep httpd | wc -l` -le 0 ]
then
/usr/local/apache2/bin/apachectl start
sleep 30
echo “##” $(date +”%y-%m-%d %H:%M:%S”) “start httpd” `ps -ef | grep httpd | wc -l`
fi
fi
crontab code:means 2 min /go
*/2 * * * * root /root/checkload.sh >>/root/checkload.log

change the “.sh” ending file “744” chmod

The statement:mine english is bad, but you can enough application your services!

发表回复