Arkadaşlar Selamlar. Kendim yaptığım bir scripti sizinle paylaşmak istedim.
Bazı servisleri 7-24 takip edip durduğu vakit çeşitli fixlemeleri deneyerek ayağa kaldırır. Geliştirmeye açıktır, benim eklediklerim aklıma gelenler bunlar. Sizlerde geliştirip geri dönüş yapabilirsiniz
Herkes faydalansın. * * * * * şeklinde cronlayabilirsiniz bir zararı yok. 1 kere çöken servisi 1 kez ayağa kaldırır , eğer çözemezse sonsuz bug'a girmez.
#!/bin/bash
#
# rm -f servish_check.sh;touch servish_check.sh;chmod u+x servish_check.sh;nano servish_check.sh
# ./servish_check.sh
#yum install mailx
###takip edilecek servisler
APACHE='0'
LITESPEED='0'
MYSQL='0'
MARIADB='0'
MONGO='1'
NGINX='1'
service1=mongod
service2=httpd
service3=lsws
service4=mysqld
service5=mariadb
service6=nginx
email=xxx@xxx.com
host="xxx.xxx.com"
###MONGO SERVIS KONTROL###
value="$(cat check/$service1.txt)"
if [ "$MONGO" == '1' ] && [ "$value" != '1' ]; then
if (( $(ps -ef | grep -v grep | grep $service1 | wc -l) > 0 ))
then
echo "$service1 is running"
echo "0" > "check/$service1.txt"
else
service $service1 restart
echo "1" > "check/$service1.txt"
if (( $(ps -ef | grep -v grep | grep $service1 | wc -l) > 0 ))
then
subject="$service1 at $host has been started"
echo "$service1 at $host wasn't running and has been started" | mail -s "$subject" $email
else
subject="$service1 at $host is not running"
echo "$service1 at $host is stopped and cannot be started!!!" | mail -s "$subject" $email
fi
fi
fi
###########################
###APACHE SERVIS KONTROL###
value="$(cat check/$service2.txt)"
if [ "$APACHE" == '1' ] && [ "$value" != '1' ]; then
if (( $(ps -ef | grep -v grep | grep $service2 | wc -l) > 0 ))
then
echo "$service2 is running"
echo "0" > "check/$service2.txt"
else
echo "1" > "check/$service2.txt"
find /home/yedek*/ee*/ -mtime +3 -exec rm {} \;
find /tmp/ -type f -name 'sess_*' -exec rm -f {} \;
find /var/cpanel/php/sessions/ea-php71/ -type f -name 'sess_*' -exec rm -f {} \;
find /var/cpanel/php/sessions/ea-php70/ -type f -name 'sess_*' -exec rm -f {} \;
find /var/cpanel/php/sessions/ea-php56/ -type f -name 'sess_*' -exec rm -f {} \;
/scripts/rebuildhttpdconf
service $service2 restart
if (( $(ps -ef | grep -v grep | grep $service2 | wc -l) > 0 ))
then
subject="$service2 at $host has been started"
echo "$service2 at $host wasn't running and has been started" | mail -s "$subject" $email
else
subject="$service2 at $host is not running"
echo "$service2 at $host is stopped and cannot be started!!!" | mail -s "$subject" $email
fi
fi
fi
###########################
###LITESPEED SERVIS KONTROL###
value="$(cat check/$service3.txt)"
if [ "$LITESPEED" == '1' ] && [ "$value" != '1' ]; then
if (( $(ps -ef | grep -v grep | grep $service3 | wc -l) > 0 ))
then
echo "$service3 is running"
echo "0" > "check/$service3.txt"
else
echo "1" > "check/$service3.txt"
/usr/local/lsws/admin/misc/lsup.sh -d -f
/usr/local/lsws/bin/lshttpd -V
/usr/local/lsws/admin/misc/cp_switch_ws.sh apache
#/usr/local/lsws/admin/misc/cp_switch_ws.sh lsws
if (( $(ps -ef | grep -v grep | grep $service3 | wc -l) > 0 ))
then
subject="$service3 at $host has been started"
echo "$service3 at $host wasn't running and has been started" | mail -s "$subject" $email
else
subject="$service3 at $host is not running"
echo "$service3 at $host is stopped and cannot be started!!!" | mail -s "$subject" $email
fi
fi
fi
###########################
###MYSQL SERVIS KONTROL###
value="$(cat check/$service4.txt)"
if [ "$MYSQL" == '1' ] && [ "$value" != '1' ]; then
if (( $(ps -ef | grep -v grep | grep $service4 | wc -l) > 0 ))
then
echo "$service4 is running"
echo "0" > "check/$service4.txt"
else
echo "1" > "check/$service4.txt"
service $service4 restart
if (( $(ps -ef | grep -v grep | grep $service4 | wc -l) > 0 ))
then
subject="$service4 at $host has been started"
echo "$service4 at $host wasn't running and has been started" | mail -s "$subject" $email
else
subject="$service4 at $host is not running"
echo "$service4 at $host is stopped and cannot be started!!!" | mail -s "$subject" $email
fi
fi
fi
###########################
###MARIADB SERVIS KONTROL###
value="$(cat check/$service5.txt)"
if [ "$MARIADB" == '1' ] && [ "$value" != '1' ]; then
if (( $(ps -ef | grep -v grep | grep $service5 | wc -l) > 0 ))
then
echo "$service5 is running"
echo "0" > "check/$service5.txt"
else
echo "1" > "check/$service5.txt"
service $service5 restart
if (( $(ps -ef | grep -v grep | grep $service5 | wc -l) > 0 ))
then
subject="$service5 at $host has been started"
echo "$service5 at $host wasn't running and has been started" | mail -s "$subject" $email
else
subject="$service5 at $host is not running"
echo "$service5 at $host is stopped and cannot be started!!!" | mail -s "$subject" $email
fi
fi
fi
###########################
###NGINX SERVIS KONTROL###
value="$(cat check/$service6.txt)"
if [ "$NGINX" == '1' ] && [ "$value" != '1' ]; then
if (( $(ps -ef | grep -v grep | grep $service6 | wc -l) > 0 ))
then
echo "$service6 is running"
echo "0" > "check/$service6.txt"
else
service $service6 restart
echo "1" > "check/$service6.txt"
if (( $(ps -ef | grep -v grep | grep $service6 | wc -l) > 0 ))
then
subject="$service6 at $host has been started"
echo "$service6 at $host wasn't running and has been started" | mail -s "$subject" $email
else
subject="$service6 at $host is not running"
echo "$service6 at $host is stopped and cannot be started!!!" | mail -s "$subject" $email
fi
fi
fi