← Semaine 15
semaine 15 - cas d'automatisation

Les grands cas : le boss final

Tout ce que vous avez appris converge ici : scripts, transitions, regex, crontab et daemons s'assemblent en deux automatisations dignes de la production.
Cas 1 : la sauvegarde
Une sauvegarde rotative sur 7 jours, chaque nuit, toute seule.
Cas 2 : les estampes de sécurité
Un système de détection d'incidents qui surveille logs et intégrité.
rappel

Les principes d'un script sous crontab

La cause numéro 1 des « ça marche à la main mais pas dans cron » : un chemin relatif ou une permission manquante.
cas 1 - echauffement

Le fichier daté : l'échauffement

Un script qui crée un fichier dont le NOM contient la date - la brique de base de toute rotation :

#!/bin/bash declare -A mois=([Jan]=janvier [Feb]=fevrier [Mar]=mars [Apr]=avril ...) jourNumerique=$(date | sed -E 's/[A-Za-z]+ ([A-Za-z]+) [0-9][0-9] .*/\1/g') moisEnLettre=${mois[$jourNumerique]} extension=$moisEnLettre-$(date +%d-%Hh%M) date > /home/prenom/etampes/etampe-${extension}.txt
$ crontab -e */2 * * * * /home/prenom/script/etampe.sh # toutes les 2 minutes, pour tester

Remarquez le sed de la semaine 14 qui découpe la date, et le tableau associatif qui la traduit en français.

cas 1 - la sauvegarde

La sauvegarde rotative 7 jours

#!/bin/bash # 1. Archiver le site cd /var/www tar czf /home/prenom/sauvegarde/monsite.tgz monsite.com # 2. Estampiller avec la date du jour cd /home/prenom/sauvegarde aujourdhui=$(date +%Y-%m-%d) ilYaSeptJours=$(date --date '- 7 day' +%Y-%m-%d) mv monsite.tgz monsite.$aujourdhui.tgz # 3. Effacer la sauvegarde d'il y a 7 jours fichierAEffacer=monsite.$ilYaSeptJours.tgz if [ -e $fichierAEffacer ]; then rm $fichierAEffacer fi
$ crontab -e 0 3 * * * /home/prenom/script/sauvegarde.sh
cas 1 - decortique

Pourquoi ce script est malin

date +%Y-%m-%d
Le format 2026-08-09 : triable, sans espaces, parfait pour les noms de fichiers.
date --date '- 7 day'
La date d'il y a une semaine, calculée par date elle-même. Aucune arithmétique à faire !
if [ -e fichier ]
On vérifie l'existence avant d'effacer : les 6 premiers jours, il n'y a rien à effacer.
Résultat : en régime permanent, toujours exactement 7 sauvegardes sur le disque. Ni plus (le disque déborde), ni moins (l'historique fond).
cas 2 - vue d'ensemble

Les estampes de sécurité : 4 volets

01 ESTAMPE
Détection d'incidents : produire des fichiers d'estampe.
02 AUTOMATE
Un daemon surveille en permanence et produit les estampes.
03 BACKUP
Automatisation de la sauvegarde (cas 1 !).
04 EXTERNE
Externalisation des sauvegardes hors du serveur.

C'est la charpente du Projet Automatisations : chaque volet s'appuie sur les semaines 12 à 14.

cas 2 - analyse des logs

Quoi surveiller dans les journaux ?

# Dans /var/log/auth.log : Failed password for root from 95.58.255.62 port 38980 ssh2 Failed password for invalid user asterisk from 91.205.189.15 Did not receive identification string from 70.91.222.121 # Dans /var/log/apache2/... : "POST /wordpress/xmlrpc.php HTTP/1.1" 302 GET /index.php? HTTP/1.0 # ... et la chasse aux 404 !

Chaque motif se détecte avec un grep bien construit (semaine 14) sur le bon journal.

cas 2 - l'estampe

Le fichier d'estampe : clair et étiqueté

************************************************* Service : sshd Anomalie : failed password from root Date : Aug 18 11:00:57 IP : 95.58.255.62 *************************************************
cas 2 - integrite

L'intégrité des fichiers : le md5 vigile

Un pirate modifie souvent les fichiers sensibles. On compare leur empreinte à celle attendue :

$ md5sum /etc/passwd 2b00042f7481c7b056c4b410d28f33cf /etc/passwd # Quoi monitorer ? Les configs de /etc et les binaires des repertoires bin
------------------------------------------------- Detection d'un changement de signature : mot de passe minute : 2026-09-26 22h31 md5 avant : 2b00042f7481... md5 apres : 9e107d9d372b... taille avant : 34 kb taille apres : 0 kb journal : 2 dernieres lignes collees ici -------------------------------------------------
cas 2 - automatisation

De manuel à automatique

Vous venez d'esquisser un mini SIEM artisanal : détection, journalisation, alerte, sauvegarde. C'est exactement le métier des outils pro comme fail2ban, Wazuh ou Splunk.
le mot de la fin

Le cours en une image

Module 1
Un VPS sécurisé qui sert vos sites en HTTPS.
Module 2
Un intranet Windows Server qui distribue adresses et identités.
Module 3
Des serveurs d'entreprise variés, installés et améliorés.
Module 4
Des conteneurs, des scripts et des automatisations qui veillent sur tout ça.

Le laboratoire de la semaine 15 vous attend pour assembler le grand final. Bonne route, administratrices et administrateurs de serveurs !