100%
GRIMOIRE
GrimoireCorpus DindonVolumes de SynthèseLe Socle du Fer
FRENAR
← PrécédentSuivant →
RATIO
LE SOCLE DU FER · SUPPORT DE COURS · SEMAINE 10
◆◆◆
ADMINISTRATION LINUX
NIVEAU 2
Semaine 10 sur 26 · Bloc 5 — OS Bare Metal
8h théorie · 27h pratique
◆ OBJECTIFS PÉDAGOGIQUES DE LA SEMAINE

1. Planifier des tâches automatiques avec cron
2. Écrire des scripts shell simples pour automatiser des tâches répétitives
3. Gérer et faire la rotation des journaux système
4. Mettre en place une supervision basique d'un serveur
5. Configurer des alertes simples sur des seuils définis

◆◆◆
⚠ AVERTISSEMENT — PÉRENNITÉ DES VERSIONS CITÉES

Les outils de supervision et d'alerte évoluent rapidement dans l'écosystème Linux. Ce support présente des principes génériques applicables à tout outil de ce type ; le formateur doit choisir et adapter l'outil concret (basique en ligne de commande ou solution plus complète) selon ce qui est pertinent et maintenu au moment de l'enseignement.

Amine RAITI · Architecte Infrastructure & SRE
Document public · CC BY-NC-SA 4.0 · AI Powered by Amine
Opération Dindon
RATIO
PLAN DE COURS · 8H
FIL CONDUCTEUR THÉORIQUE
10.1 · Planification de tâches avec cron2h
— Syntaxe d'une entrée cron (minute, heure, jour du mois, mois, jour de la semaine)
— Notion de crontab utilisateur vs système
— Cas d'usage typiques : sauvegardes planifiées, nettoyage automatique, rapports périodiques
10.2 · Scripts shell3h
— Structure d'un script shell : shebang, variables, conditions, boucles
— Lien direct avec la logique conditionnelle vue en S3/S4 — même principe, syntaxe différente
— Bonnes pratiques : gestion d'erreur basique, commentaires, droits d'exécution
10.3 · Rotation et gestion des journaux2h
— Pourquoi faire tourner les journaux : éviter la saturation de l'espace disque (lien avec S7)
— Principe de rotation : archivage, compression, suppression après une durée définie
10.4 · Supervision et alertes basiques1h
— Principes génériques de supervision : que surveiller (CPU, RAM, disque, services critiques), seuils d'alerte raisonnables
— Lien avec l'idée de capacité planifiée plutôt que réactive
EXEMPLE À DÉVELOPPER AU TABLEAU

Une entrée cron "0 2 * * *" déclenche une tâche tous les jours à 2h du matin — décomposer chaque champ devant les apprenants et faire varier un champ pour illustrer différentes fréquences (toutes les heures, une fois par semaine).

RATIO
TP1 · AUTOMATISATION DE TÂCHES COURANTES · 14H

Matériel : système configuré en S9, accès terminal.

(3h) Écriture d'un premier script shell simple : sauvegarde automatique d'un dossier donné vers une archive compressée horodatée.
(3h) Amélioration du script avec gestion d'erreur basique (vérifier que le dossier source existe avant de lancer la sauvegarde, message clair en cas d'échec).
(3h) Planification du script de sauvegarde via cron, pour une exécution quotidienne à une heure définie, vérification du bon déclenchement (forcer une exécution immédiate pour test, puis vérifier dans les journaux que l'exécution planifiée a bien eu lieu).
(3h) Écriture d'un second script : nettoyage automatique des sauvegardes de plus de 7 jours, pour éviter la saturation de l'espace disque (lien direct avec S7).
(2h) Test complet de la chaîne sauvegarde + nettoyage sur plusieurs exécutions simulées, vérification du comportement attendu.
CORRIGÉ TP1

Structure attendue du script de sauvegarde : shebang en première ligne, variable définissant le dossier source et le dossier de destination, vérification conditionnelle de l'existence du dossier source, commande de compression avec horodatage dans le nom du fichier généré, message de confirmation ou d'erreur en sortie.

Point de vigilance pour la planification cron : vérifier que le script a les droits d'exécution nécessaires et que les chemins utilisés dans le script sont absolus (cron n'exécute pas dans le même contexte de répertoire qu'une session interactive).

RATIO
TP2 · MISE EN PLACE D'ALERTES SIMPLES · 13H

Matériel : système configuré au TP1, accès terminal.

(3h) Écriture d'un script de surveillance de l'espace disque : vérifier périodiquement le pourcentage d'utilisation et déclencher une alerte (message dans un journal dédié) si un seuil donné (par exemple 80%) est dépassé.
(3h) Extension du script pour surveiller également la charge CPU et l'utilisation mémoire, avec des seuils distincts pour chaque ressource.
(3h) Planification du script de surveillance via cron à intervalle régulier (par exemple toutes les 15 minutes).
(2h) Test du déclenchement d'alerte en simulant artificiellement une charge ou un remplissage disque proche du seuil défini.
(2h) Rédaction d'une fiche de synthèse documentant l'ensemble du dispositif d'automatisation et de supervision mis en place sur la semaine.
CORRIGÉ TP2

Structure attendue du script de surveillance : récupération de la valeur courante (pourcentage disque, charge CPU, utilisation mémoire) via les commandes système appropriées, comparaison avec un seuil défini en variable, écriture d'une ligne d'alerte horodatée dans un fichier journal dédié si le seuil est dépassé.

Point pédagogique central : insister sur le fait que cette approche de supervision basique par script est un point de départ pédagogique — en environnement de production réel, des outils dédiés de supervision (à choisir selon ce qui est maintenu et pertinent au moment de l'enseignement) offrent des fonctionnalités bien plus complètes (historisation, tableaux de bord, alertes multi-canaux).

◆ FICHE DE SYNTHÈSE — AUTO-ÉVALUATION SEMAINE 10
1. Je sais écrire la syntaxe d'une entrée cron.
2. Je sais écrire un script shell simple avec gestion d'erreur basique.
3. Je sais planifier l'exécution automatique d'un script avec cron.
4. Je sais expliquer pourquoi la rotation des journaux est nécessaire.
5. Je sais surveiller l'espace disque, la charge CPU et l'utilisation mémoire en ligne de commande.
6. Je sais définir un seuil d'alerte raisonnable pour une ressource système.
7. Je sais déclencher une alerte automatique basique en cas de dépassement de seuil.
8. Je sais documenter un dispositif d'automatisation mis en place.
← PrécédentSuivant →