Par Serge.
Ce script lance une commande dés que le système dépasse un seuil de charge. Cela peu être trés utile pour "sauver" un serveur, c'est à dire par exemple stopper une application ou redémarrer un serveur s'il atteint une charge excessive.
Ce script est à placer dans la crontab root. Editez le script et modifiez:
SEUIL
ALERTE
CMD
Copiez le script ou bon vous semble, par exemple /usr/local/sbin/cmd_on_load.sh
et modifiez les droits:
chmod 700 /usr/local/sbin/cmd_on_load.sh chown root:root /usr/local/sbin/cmd_on_load.sh
Pour éditer la crontab root, en root tapez la commande:
crontab -e
Puis placez y cette ligne:
*/5 * * * * /usr/local/sbin/cmd_on_load.sh
#!/bin/bash # # Tchesmeli Serge # Execution de commande sur charge excessive # # HOSTNAME=`hostname` DATE=`date` #Seuil de charge SEUIL="20" #mail des personnes à contacter sur seuil ALERTE="email@domaine.com" #commande à lancer sur seuil CMD="commande à executer" # On récupére la valeur entiére de la charge 5mn LOAD=`cat /proc/loadavg | awk {'print $1'} | sed "s/\..*//"` if [ $LOAD -gt $SEUIL ]; then mail -s "Alerte seuil charge !!!" $ALERTE <<EOF ------------------------------------------------------------------------ Date: $DATE Load: $LOAD Host: $HOSTNAME ------------------------------------------------------------------------ Le seuil de $SEUIL a ete depasse, la commande $CMD vient d etre executer. EOF #la commande viens après envoie de e-mail pour etre sur, ex : "reboot" $CMD fi
Thèmes : #administration #scripts #serge
Sauf indication contraire, ce document est placé sous licence CC-BY-SA 3.0.