Vous êtes ici: La documentation de Slackware-fr » Thématique Administration » Scripts, Administration » cmd_on_load.sh

cmd_on_load.sh

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.

Utilisation

Ce script est à placer dans la crontab root. Editez le script et modifiez:

  1. Le seuil de charge, variable SEUIL
  2. L'adresse email de la personne à contacter, variable ALERTE
  3. La commande à executer en cas de dépassement de seuil, variable CMD

Installation

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

Le script

#!/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
	$CMD
	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
fi

Tags

administration/scripts/cmd_on_load.sh.txt · Dernière modification: 2010/02/22 21:30 (édition externe)