2 Commits
Author SHA1 Message Date
Alexandre Guegan 38139b1497 Ajout du script monitor.sh de guegan-a 2026-04-03 13:06:36 +02:00
guillaume.astier 116678b2d5 [README] update git 2026-04-03 10:51:51 +02:00
2 changed files with 86 additions and 22 deletions
+7
View File
@@ -56,3 +56,10 @@ Le script se rafraîchit toutes les `X` secondes.
---
# GIT
Etape 1 : modification du code source (vim)
Etape 2 : Ajout du fichier pour "versionning" (git add -A)
Etape 3 : Versionner le fichier : (git commit -m "UPDATE ..."
Etape 4 : Pousser la version sur le server : git push
Executable → Regular
+79 -22
View File
@@ -1,27 +1,84 @@
#!/bin/bash
option=$1
time=$2
arg1=$1
arg2=$2
# recupere la quantite de CPU
# top affiche les infos
# grep recupere la ligne qui contient les infos de % CPU
# awk recupere la 8eme zone d'enregistrement qui correspond au CPU libre (idle)
# effectue 100 - ligen CPU pour obtenir le CPU utilisé
cpu=$(top -bn1 | grep "%Cpu(s)" | awk '{print 100 -$8}')
# recupere la memoire utilise
# def -h afficher les infos de memoire du dossier home
#grep overlay sort la ligne overlay qui contient les infos generales
#awk recupere la 5eme zone d enregistrement qui contient la quantite de memoire utilise
mem=$(df -h /home | grep "overlay" | awk '{print $5}')
# ps liste les processu
# wc -l affiche le nombre de ligne (1 une ligne par process) et donc le nombre de processus
proc=$(ps ax | wc -l)
echo " La machine utilise actuellement ${cpu}% de son CPU, ${mem} de la capacite de stockage du dossier home, et ${proc} processus sont en cours."
sleep(time)
# Script renvoyant les informations système demandees pour ce TP
script_demande() {
echo "Utilisation du CPU (en %) :"
echo "$(top -b -n 1 | grep '%Cpu')"
# -n 1 : pour envoyer 1 seule fois l'état (pas en continu)
echo "----------"
echo "Espace disque (partition /home) :"
echo "$(df -h | grep 'Filesystem')"
echo "$(df -h | grep '/home')"
echo "----------"
echo "Nombre de processus actifs (pour tout le system) :"
echo "$(($(ps -axf | wc -l) - 3))"
# il faut retrancher 3 pour avoir le nombre de processus reel
}
# Script perso renvoyant des informations système plus detaillees
renvoi_complet() {
echo "Nom de la machine : $(hostname)"
echo "----------"
echo "Systeme exploitation : $(uname -o)"
echo "----------"
echo "Nom du noyau : $(uname -s)"
echo "Version du noyau : $(uname -r)"
echo "Type architecture : $(uname -m)"
echo "Type CPU : $(uname -p)"
echo "Type plateforme materielle : $(uname -i)"
echo "----------"
echo "Temps ecoule depuis dernier demarrage du systeme : $(uptime -p)"
echo "----------"
echo "Reseau :"
echo "$(ifconfig)"
echo "----------"
echo "Espace disque total :"
echo "$(df -h --total | grep Filesystem)"
echo "$(df -h --total | grep total)"
echo "----------"
echo "Espace disque detaille :"
echo "$(df -h)"
echo "----------"
echo "Utilisation memoire RAM :"
echo "$(free -h)"
echo "----------"
echo "Processus actifs :"
echo "$(ps -axf)"
}
# Execution du bash
if [[ ${arg1} == "-w" ]]
then
if [[ ${arg2} =~ ^[0-9]+$ ]]
then
while [ true ]
do
script_demande
sleep ${arg2}
clear
done
else
echo "Le second argument doit etre un nombre"
fi
else
echo "Souhaitez-vous le script simple (1) ou complet (2) ?"
read reponse
if [[ $reponse == "1" ]]
then
echo "---------------------------------------------------------------------------------"
echo "Informations systeme demandees pour le TP"
echo "----------"
script_demande
elif [[ $reponse == "2" ]]
then
echo "---------------------------------------------------------------------------------"
echo "Informations systemes detaillees"
echo "----------"
renvoi_complet
else
echo "Reponse non conforme"
fi
fi