Author SHA1 Message Date
isen dd44d06bc4 ajout ligne dans READ.me et creation file_mstr6 2026-04-03 07:48:34 +00:00
roger 225cff0d35 [UPDATE] - merge mstr02 2025-04-04 13:38:27 +00:00
roger 841007ef76 [UPDATE] - ajout de mstr02 2025-04-04 13:35:04 +00:00
isen2025 3698339c2f synchro suite merge 2025-04-04 13:17:18 +00:00
isen2025 7a8ae99069 Merge branch 'mstr07' 2025-04-04 13:09:40 +00:00
isen2025 50da9de9db test 2025-04-04 13:09:19 +00:00
isen2025 a071b05552 monitoring_etc 2025-04-04 13:01:15 +00:00
isen2025 11f956b755 Merge branch 'local_branch/mstr09' 2025-04-04 12:50:25 +00:00
fabien.legall cd0b26a5b9 Ajout du fichier file_mstr7 2025-04-04 12:36:46 +00:00
chicote-v 4037244be6 Ajout du nom de la machine au README.md et création du fichier file_<nom-de-votre-machine> 2025-04-04 12:34:06 +00:00
guillaume 74da2c244d ajout d'un fichier et repertoire 2025-04-04 12:31:28 +00:00
sacha 880ae493ad coucou 2024-04-12 13:48:45 +00:00
isen 418120538f Merge branch 'mstr12' 2024-04-12 15:43:24 +02:00
isen 7e7ff0d27e test 2024-04-12 15:34:00 +02:00
GinTonyK f86adf8006 ajout d'un fichier et d'une ligne dans readme 2024-04-12 13:26:24 +00:00
sacha c3ca691c8f Ajout des modifs effectuees 2024-04-12 13:26:17 +00:00
mstr02 85d296f8da Ajout d'une ligne à README.md et création d'un nouveau fichier 2024-04-12 13:17:24 +00:00
12 changed files with 89 additions and 129 deletions
View File
+88 -45
View File
@@ -1,65 +1,108 @@
# Monitoring
---
## Sujet : Moniteur système basique
### Objectif
Écrire un script **bash** simple permettant d’afficher des informations essentielles sur l’état du système GNU/Linux.
# ISEN - Cours Sysadmin - TP n°8
---
# Prise en main de GIT
## Énoncé
## Objectifs
Vous devez écrire un script shell nommé `monitor.sh` affichant les informations suivantes :
Prise en main des commandes de base de git
- Utilisation du CPU (en %)C
- Espace disque (partition home `/home`)
- Nombre de processus actifs (pour tout le système)
------------------------------------------------------------------------
L’affichage doit être clair et lisible, avec des unités adaptées.
## git
---
- A chaques étapes si vous avez un doute, tapez la commande :
### Commandes ou fichiers possibles
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
```
git --help
```
Le script se rafraîchit toutes les `X` secondes.
------------------------------------------------------------------------
*Indications :* `while`, `sleep`, `clear`
## Configuration utilisateur
---
- Afficher les variables git de votre utilisateur
## Évaluation
- modifier la configuration mail et nom d'utilisateur avec :
| Critère | Points |
|-------|--------|
| Fonctionnalité correcte | 10 |
| Lisibilité / commentaires | 10 |
| Bonus surveillance | +4 |
```
git config --global ...
```
---
------------------------------------------------------------------------
# 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
# GIT
Ma machine s'appelle SACHAAAAAAAAA
MSTR7
=======
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
Nom de la machine: chicote-v-client
=======
## MSTR 02
MSTR02
## MSTR 06
ma ligne
View File
View File
View File
View File
View File
+1
View File
@@ -0,0 +1 @@
mstr7
View File
-84
View File
@@ -1,84 +0,0 @@
#!/bin/bash
arg1=$1
arg2=$2
# 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
View File
View File