Restart de service

De BlaxWiki
Révision datée du 30 mars 2018 à 14:14 par 127.0.0.1 (discussion) (Page créée avec « Ce script vérifie l état de la ram prise par un processus (ici squid) et le redémarre si le seuil est atteint <pre> #!/bin/bash ## CONF ram_max='80' # seuil d'utilisa... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Ce script vérifie l état de la ram prise par un processus (ici squid) et le redémarre si le seuil est atteint

#!/bin/bash

## CONF
ram_max='80' # seuil d'utilisation max en pourcent

## COMMANDE DE REDMERRAGE
redemarre="sed -i 's/icap_enable on/icap_enable off/g' /opt/applis/squid/etc/squid.conf"
redemarre="${redemarre}; date '+%d/%m/%Y - %H:%M:%S' > /root/.autorestart_squid"
redemarre="${redemarre}; /etc/init.d/squid restart"
redemarre="${redemarre}; /etc/init.d/kav4proxy stop"
redemarre="${redemarre}; nohup /etc/init.d/kav4proxy restart >/dev/null 2>&1"
redemarre="${redemarre}; sleep 3;sed -i 's/icap_enable off/icap_enable on/g' /opt/applis/squid/etc/squid.conf"
redemarre="${redemarre}; /etc/init.d/squid reload"

## POUR CHAQUE PROXY, EXECUTE $redemarre SI RAM>=$ram_max
nb_redemarrage='0'
#for ip_serveur in '172.30.100.129' '172.30.100.134' '172.30.100.130' '172.30.100.135' '172.30.100.131' '172.30.100.136' '172.30.100.132' '172.30.100.137' '172.30.100.133' '172.30.100.138' '172.30.100.145' '172.30.100.146' '172.30.100.147' '172.30.100.149' ; do
for ip_serveur in '172.30.100.145' '172.30.100.146'; do
        ram_utilisee="$(ssh "root@${ip_serveur}" 'free | grep Mem | awk "{print \$3/\$2 * 100.0}" | cut -d. -f1')"
        if [ "${ram_utilisee}" -ge "${ram_max}" ];then
                ssh "root@${ip_serveur}" "${redemarre}"
                nb_redemarrage="$(( ${nb_redemarrage} + 1 ))"
        fi
done

## CLEAR STICKY
[ "${nb_redemarrage}" -gt '0' ] && /opt/applis/rancid/bin/clogin -autoenable -noenable -c 'clear sticky database group GROUP1;' -u adm-intersec lb1.intersec.parb.real.not