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