Вход на сайт
Виртуальный сервер (debian)
403 просмотров
Перейти к просмотру всей ветки
anatoli888 свой человек
в ответ GANDJUBAS 05.10.09 12:12
В ответ на:
#!/bin/bash
swap=`/usr/bin/free | grep "Swap:" | awk '{ print ($2-$4)*100/$2 }' | cut -d"." -f1`
mem=`/usr/bin/free | grep "Mem:" | awk '{ print ($2-$4)*100/$2 }' | cut -d"." -f1`
server="SERVER.DOMAIN"
mysql_root_passwd="PASSWORD"
mail_list="user@domain.com"
if [ $mem -ge 99 ]
then
if [ $swap -ge 70 ]
then
mysql_proclist=/root/mysql_proclist.log.`date +%Y.%m.%d-%H-%M-%S`
top_proclist=/root/top_proclist.log.`date +%Y.%m.%d-%H-%M-%S`
touch $mysql_proclist
touch $top_proclist
echo "show processlist;" | mysql -p$mysql_root_passwd > $mysql_proclist
ps axu > $top_proclist
echo -e "Der Serverspeicher hat folgende Werte erreicht: \nSwap $swap%, \nMem: $mem%. \n\n\nMySQL Prozessliste\n\n\n`cat $mysql_proclist`\n\n\nTOP Prozessliste\n\n\n`cat $top_proclist`" | mail -s "WARN:$server - SWAP:$swap%, MEM:$mem%" $mail_list
# falls man dienste neustarten moechte
#/etc/init.d/apache2 stop
#/etc/init.d/mysql restart
#/etc/init.d/apache2 start
elif [ $swap -ge 10 ]
then
mysql_proclist=`mktemp`
top_proclist=`mktemp`
echo "show processlist;" | mysql -p$mysql_root_passwd > $mysql_proclist
ps axu > $top_proclist
echo -e "Der Serverspeicher hat folgende Werte erreicht: \nSwap $swap%, \nMem: $mem%. \n\n\nMySQL Prozessliste\n\n\n`cat $mysql_proclist`\n\n\nTOP Prozessliste\n\n\n`cat $top_proclist`" | mail -s "$server - SWAP:$swap%, MEM:$mem%" $mail_list
rm $mysql_proclist $top_proclist
fi
fi
#!/bin/bash
swap=`/usr/bin/free | grep "Swap:" | awk '{ print ($2-$4)*100/$2 }' | cut -d"." -f1`
mem=`/usr/bin/free | grep "Mem:" | awk '{ print ($2-$4)*100/$2 }' | cut -d"." -f1`
server="SERVER.DOMAIN"
mysql_root_passwd="PASSWORD"
mail_list="user@domain.com"
if [ $mem -ge 99 ]
then
if [ $swap -ge 70 ]
then
mysql_proclist=/root/mysql_proclist.log.`date +%Y.%m.%d-%H-%M-%S`
top_proclist=/root/top_proclist.log.`date +%Y.%m.%d-%H-%M-%S`
touch $mysql_proclist
touch $top_proclist
echo "show processlist;" | mysql -p$mysql_root_passwd > $mysql_proclist
ps axu > $top_proclist
echo -e "Der Serverspeicher hat folgende Werte erreicht: \nSwap $swap%, \nMem: $mem%. \n\n\nMySQL Prozessliste\n\n\n`cat $mysql_proclist`\n\n\nTOP Prozessliste\n\n\n`cat $top_proclist`" | mail -s "WARN:$server - SWAP:$swap%, MEM:$mem%" $mail_list
# falls man dienste neustarten moechte
#/etc/init.d/apache2 stop
#/etc/init.d/mysql restart
#/etc/init.d/apache2 start
elif [ $swap -ge 10 ]
then
mysql_proclist=`mktemp`
top_proclist=`mktemp`
echo "show processlist;" | mysql -p$mysql_root_passwd > $mysql_proclist
ps axu > $top_proclist
echo -e "Der Serverspeicher hat folgende Werte erreicht: \nSwap $swap%, \nMem: $mem%. \n\n\nMySQL Prozessliste\n\n\n`cat $mysql_proclist`\n\n\nTOP Prozessliste\n\n\n`cat $top_proclist`" | mail -s "$server - SWAP:$swap%, MEM:$mem%" $mail_list
rm $mysql_proclist $top_proclist
fi
fi
подстраиваешь под себя(cpu загруз итп) и ложишь на серваке. смотришь что сним в эти моменты происходит. :)
посмотри логи итп. последи за серваком. если перегруз не от тебя то переходи на железный сервак.