Compare commits
3
Commits
guegan-a
...
villeminot-g
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
99444305fe | ||
|
|
e6e9532bc3 | ||
|
|
30f89bf62c |
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
#FONCTION MONITOR
|
||||
#affiche les parametres demandes
|
||||
monitor(){
|
||||
#On cree la variable CPU qui :
|
||||
# - recupere le fichier sortie de top apres 1 iteration (-n1)
|
||||
# - extrait la ligne '%CPU' (grep)
|
||||
# - recupere la taille de CPU non utilisee (awk + $8)
|
||||
# - stocke la valeur de CPU utilisee (100 - $8)
|
||||
CPU=$(top -n1 | grep "%Cpu" | awk '{print 100 - $8}')
|
||||
|
||||
#On cree la variable MEM qui :
|
||||
# - recupere le fichier de sortie de df
|
||||
# - extrait la ligne contenant la partition sur /home (grep)
|
||||
# - stocke la taille de memoire disponible (awk + $4)
|
||||
MEM=$(df | grep "/home" | awk '{print $4}')
|
||||
|
||||
#On cree la variable PROC qui :
|
||||
# - recupere la liste des processus en sortie de ps aux
|
||||
# - extrait la colonne correspondant a l'etat des processus (awk + $8)
|
||||
# - filtre les lignes pour ne recuperer que celles correspondant au statut "actif" (grep + R)
|
||||
# - stocke le nombre de lignes (wc -l)
|
||||
PROC=$(ps aux | awk '{print $8}' | grep R | wc -l)
|
||||
|
||||
echo ""
|
||||
echo "----- PARAMETRES DE MONITORING -----"
|
||||
echo "Part de CPU utilisee© : $CPU%"
|
||||
echo "Memoire disponible : $MEM octets"
|
||||
echo "Processus actifs : $PROC"
|
||||
echo "------------------------------------"
|
||||
echo ""
|
||||
}
|
||||
|
||||
#CORPS DU SCRIPT
|
||||
|
||||
#S'il n'y a pas d'argument, le script renvoie une seule fois les parametres
|
||||
if [[ "$#" == 0 ]]; then
|
||||
monitor
|
||||
else
|
||||
#S'il y a comme premier agrument "-w" et comme deuxième argumen "x" un entier, le script affiche les paraetres toutes les x secondes a l'infini.
|
||||
if [[ "$#" == 2 && "$1" == "-w" && "$2" =~ ^[0-9]+$ ]]; then
|
||||
while true; do
|
||||
monitor
|
||||
sleep "$2"
|
||||
done
|
||||
#S'il y a des arguments qui sont incorrects, le script renvoie une message adequat
|
||||
else
|
||||
echo "Arguments incorrects"
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user