Restarto Apache nese serveri arrin nje limit te caktuar ngarkese

Albforumi

Primus registratum
Restarto Apache nese serveri arrin nje limit te caktuar ngarkese

Scripti me poshte mund te perdoret nga administratoret e serverave Linux. Sa here qe ngarkesa e serverit ngrihet mbi nje vlere te caktuar (percaktuar ne variablin: HTTPD_RESTART_LOAD), scripti ben nje restart te procesit.
Me ane te ketij scripti eshte e lehte te parandalohen crashet e serverave qe jane ne pune. Per cdo rast te sherbimit web (httpd), scripti dergon nje email (ne adresen e percaktuar tek EMAIL_ADDRESS).</p>


Perdorimi:</p>

Krijoni nje skedar me emer kontrApache.sh ne te cilin vendoset kodi me poshte.  (/home/root/.scripts/kontrApache.sh)
Scripti duhet te jete i ekzekutueshem: chmod 775 /home/root/.scripts/kontrApache.sh
Krijoni nje crontab (crontab -e per te edituar crontab) ku te therritet ky script cdo x min. Psh: */2     *       *       *       *       sh /home/root/.scripts/kontrApache.sh &gt;/dev/null 2&gt;&amp;1



Meritat per scriptin:
?nobaloney.net</p>
#!/bin/bash
# Kontrollo ngarkesen e serverit dhe nese kalon nje kufi e ri-fillon si sherbim
LOAD_TIME=`date '+%F %H:%M'`
SERVER_NAME=&quot;EmriIServerit.host.al&quot;
EMAIL_ADDRESS=&quot;AdresaJuajeEmailit@&quot;
UP_TIME=`uptime`
#101 means no warning emails.
LOAD_WARNING=&quot;101&quot;
HTTPD_RESTART_LOAD=&quot;20&quot;
TOP_OP=`top -b -n 1 | head -20`
TOP[1]=`echo &quot;$UP_TIME&quot;`
TOP[2]=`echo &quot;$TOP_OP&quot; | grep 'zombie'`
TOP[3]=`echo &quot;$TOP_OP&quot; | grep '%' | grep -v 'PID'`
TOP[4]=`echo &quot;$TOP_OP&quot; | grep '^Swap\:'`
TOP[5]=`echo &quot;$TOP_OP&quot; | grep '^Mem\:'`
ONE_LOAD=`echo &quot;${TOP[1]}&quot; | awk '{print $10}' | cut -c1-4`
#echo $ONE_LOAD
if [ &quot;$ONE_LOAD&quot; == &quot;aver&quot; ]; then
ONE_LOAD=`echo &quot;${TOP[1]}&quot; | awk '{print $11}'| cut -c1-4`
fi
#echo $ONE_LOAD
ONE_LOAD_CALC=`echo &quot;${TOP[1]}&quot; |awk '{print $10}' | cut -c1-4 | awk 'BEGIN {FS = &quot;.&quot;}{print $1}'`
#echo $ONE_LOAD_CALC
if [ &quot;$ONE_LOAD_CALC&quot; == &quot;aver&quot; ]; then
ONE_LOAD_CALC=`echo &quot;${TOP[1]}&quot;| awk '{print $11}'| cut -c1-4 | awk 'BEGIN {FS = &quot;.&quot;}{print $1}'`
fi
#echo $ONE_LOAD_CALC
ONE_LOAD_SUB=&quot;$ONE_LOAD(1min) - $LOAD_TIME&quot;
#echo $ONE_LOAD_SUB
MAIL_OUTPUT=`echo -e &quot;${TOP[1]}\n${TOP[2]}\n${TOP[3]}\n${TOP[4]}\n${TOP[5]}\n&quot;`
#echo -e &quot;\n$MAIL_OUTPUT\n&quot;
if [ &quot;$ONE_LOAD_CALC&quot; -ge &quot;$LOAD_WARNING&quot; ]; then
echo -e &quot;\nSERVER LOAD of $SERVER_NAME is $ONE_LOAD_SUB\n\n$MAIL_OUTPUT\n&quot; | mail -s &quot;LOAD WARNING : $SERVER_NAME - $ONE_LOAD_SUB&quot; $EMAIL_ADDRESS
fi
if [ &quot;$ONE_LOAD_CALC&quot; -ge &quot;$HTTPD_RESTART_LOAD&quot; ]; then
/sbin/service httpd restart 2&amp;amp;&amp;gt; /var/log/cron_load.log  &amp;amp;&amp;amp; echo -e &quot;\nSERVER LOAD of $SERVER_NAME is $ONE_LOAD_SUB\n&quot; &amp;gt;&amp;gt; /var/log/cron_load.log &amp;amp;&amp;amp; echo -e &quot;$MAIL_OUTPUT\n&quot; &amp;gt;&amp;gt; /var/log/cron_load.log &amp;amp;&amp;amp; cat /var/log/cron_load.log | mail -s &quot;HTTPD RESTART : $SERVER_NAME - $ONE_LOAD_SUB&quot; $EMAIL_ADDRESS
fi
exit 0
#END
Artikuj të ngjashëm

06/07/2009 — How to install MySQL Monitoring Tools mtop for CentOS Debian (0)


Per me shume artikuj te ngjashem vizitoni: http://armandbrahaj.blog.al/?p=1371
 
Top