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 91 additions and 99 deletions
View File
+90 -40
View File
@@ -1,58 +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
Ma machine s'appelle SACHAAAAAAAAA
MSTR7
=======
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
-59
View File
@@ -1,59 +0,0 @@
#!/bin/bash
#Script "monitor.sh", en 3 parties : affichage du CPU, espace disque, nombre de processus actif
#------------------FONCTION 1 : utilisation du CPU-----------------------------------------
usage_cpu(){
#Afficher l'utilisation du CPU (de manieÃre fgee : 1 seule iteÃration) : top -n1
#On recupere uniquement la ligne nous interessant sur la CPU : | grep "Cpu"
#On transforme la ligne en colonne : tr ',' '\n'
#On peut maintenant recuperer la ligne correspondant a id (CPU inactive) : grep "id"
#Et on ne garde que le chiffre avec : cut -d' ' -f2
id=$(top -n1 | grep "Cpu" | tr ',' '/n' | grep 'id' | cut -d' ' -f2)
CPU=$( echo "100-${id}" | bc) #bc car on gere des decimaux
echo "Utilisation du CPU : ${CPU}% "
}
#---------------------------FONCTION 2 : espace libre de /home --------------------------------
espace_disque(){
#Afficher l'espace libre des disques des partitions (en taille lisible Go/Mo -h) : df -h
#On recupere la partition liee a /home : grep "home"
#On remplace les nombreux espaces par un seul : tr -s ' '
total=$( df -h | grep "home" | tr -s ' ' | cut -d' ' -f2 )
utilise=$( df -h | grep "home" | tr -s ' ' | cut -d' ' -f3 )
libre=$( df -h | grep "home" | tr -s ' ' | cut -d' ' -f4 )
pourcent_libre=$( df -h | grep "home" | tr -s ' ' | cut -d' ' -f5 )
echo "Partition /home : espace total=${total} - utilise=${utilise} (${pourcent_libre}) - libre=${libre}"
}
#---------------------------FONCTION 3 : nombre de processus en cours ---------------------------
nombre_process(){
#Afficher la liste des processus en cours (sans prendre en compte la premiere ligne pour ne pas la compter avec le wc -l : --no-header) : ps axf --no-headers
nb=$(ps axf --no-header | wc -l)
echo "Nombre de processus en cours : ${nb}"
}
#-----------------------SCRIPT : VERIFICATION DES ARGUMENTS - APPEL DES FONCTIONS-----------------
if [ $1 == '-w' ] ; then
intervalle=${2}
while true ; do #boucle infinie tant que l'utilisateur ne la stoppe pas
clear #permet d'effacer le terminal
usage_cpu""
espace_disque""
nombre_process""
sleep ${intervalle}
done
else
usage_cpu""
espace_disque""
nombre_process""
fi
View File
View File