Author SHA1 Message Date
Gregoire 99444305fe Dm termine par greg 2026-04-29 12:34:45 +00:00
villeminot e6e9532bc3 ajout test 2026-04-08 08:29:36 +00:00
villeminot 30f89bf62c ajout d'un fichier pour exemple 2026-04-08 08:27:02 +00:00
guillaume.astier 98dbd6ec40 [README] sujet DM 2026-04-03 10:29:59 +02:00
guillaume.astier 99f9a30d8f [init] programme monitor 2026-04-03 10:26:36 +02:00
Alexandre Guegan d2c45f49ab Ligne ajoutee a la fin du fichier 'README.md' + fichier 'file_guegan-a-client' cree 2026-04-03 10:09:24 +02:00
isen 5c6189699c Ajout config monitoring 2025-04-04 12:38:59 +00:00
isen 8fbce76904 Modif READ.me et ajout file_mstr05 2025-04-04 12:27:18 +00:00
tunz 4e5fec6247 ca va marcher bon sang 2024-04-12 13:46:30 +00:00
3 changed files with 92 additions and 76 deletions
+40 -76
View File
@@ -1,94 +1,58 @@
# Monitoring
---
## Sujet : Moniteur système basique
# ISEN - Cours Sysadmin - TP n°8 ### Objectif
Écrire un script **bash** simple permettant d’afficher des informations essentielles sur l’état du système GNU/Linux.
# Prise en main de GIT ---
## Objectifs ## Énoncé
Prise en main des commandes de base de git Vous devez écrire un script shell nommé `monitor.sh` affichant les informations suivantes :
------------------------------------------------------------------------ - Utilisation du CPU (en %)C
- Espace disque (partition home `/home`)
- Nombre de processus actifs (pour tout le système)
## git L’affichage doit être clair et lisible, avec des unités adaptées.
- A chaques étapes si vous avez un doute, tapez la commande : ---
``` ### Commandes ou fichiers possibles
git --help
Vous pouvez utiliser soit les commandes système ou les fichiers /proc
- `top`, `free`, `df`, `ps`
- `/proc/cpuinfo`, `/proc/meminfo`
---
## Bonus (facultatif)
### Mode surveillance
Ajouter un mode optionnel :
```bash
./monitor.sh -w X
``` ```
------------------------------------------------------------------------ Le script se rafraîchit toutes les `X` secondes.
## Configuration utilisateur *Indications :* `while`, `sleep`, `clear`
- Afficher les variables git de votre utilisateur ---
- modifier la configuration mail et nom d'utilisateur avec : ## Évaluation
``` | Critère | Points |
git config --global ... |-------|--------|
``` | Fonctionnalité correcte | 10 |
| Lisibilité / commentaires | 10 |
| Bonus surveillance | +4 |
------------------------------------------------------------------------ ---
# CLONE
## récupérer un dépôt
- récupérer localement sur votre instance clientXX le dépôt
"https://git.gastier.net/guillaume/isen2024.git"
- Trouver la commande qui permet d'affichier l'URL d'origine du dépôt
## parser le dépôt
- lister les branches disponibles sur le serveur
- récupérer en local la branche liée a votre poste
------------------------------------------------------------------------
## modifier le code
- ajouter une ligne a la fin du fichier README.md (nom de votre
machine)
- creer le fichier file_post ou post est le nom de votre machine
- ajouter les modifications à votre index
- ajouter les modifications dans votre HEAD
## push du code
- envoyer les modifications au serveur centralisé
------------------------------------------------------------------------
## Conf TP precedent
Le but ici est de récupérer les fichiers de configurations de monitoring
et les placer dans un répertoire sur votre depôt dans votre branche :
isen12@client-isen12:~/isen2024$ git branch
* isen12
master
isen12@client-isen12:~/isen2024$ tree
.
|-- README.md
'-- isen12
'-- monitoring_etc
2 directories, 1 file
------------------------------------------------------------------------
intégrer dans l'index et dans le HEAD puis pousser vos modifications sur
le serveurs centralisé
## MERGE
Mergez vos données dans la branche MASTER
Executable
+51
View File
@@ -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
+1
View File
@@ -0,0 +1 @@
coucou