Retour aux projets Projets / Sauvegarde Automatique
SAE 1.03 · BUT 1ère année 2023 – 2024 Université de Lorraine

Sauvegarde
Automatique par script Bash

Script shell automatisant la sauvegarde de répertoires, avec génération de logs horodatés, rapport HTML et planification via crontab — une approche DevOps et cybersécurité dès la 1ère année.

100%
Automatisé
tar
Archivage
cron
Planification
🛡️
Logs & traçabilité
terminal — ./backup.sh
titouanmure@MacBook SAE3 % ./backup.sh
########## 100% Sauvegarde effectuée
La tâche cron est déjà configurée.
titouanmure@MacBook SAE3 % crontab -l
$ 12 * * 1-5 ~/Documents/SAE3/backup.sh
titouanmure@MacBook SAE3 % █
Exécution du script — Sauvegarde + crontab configuré

Automatiser pour sécuriser

Ce script shell a pour objectif d'automatiser la sauvegarde des répertoires "Images" et "Musiques". Après avoir défini les chemins et vérifié leur existence, il crée une structure de sauvegarde organisée par date — année, mois, jour et heure.

Il utilise la commande tar pour créer une archive des répertoires, enregistre les résultats dans un fichier de log horodaté et génère un rapport HTML via un script secondaire. En cas de succès ou d'échec, des messages appropriés sont affichés et tracés.

Enfin, le script configure automatiquement une tâche cron pour exécuter la sauvegarde quotidiennement à midi en semaine — en vérifiant d'abord si la tâche existe déjà pour éviter les doublons. J'ai dû consulter la documentation sur crontab, illustrant ma démarche d'apprentissage autonome.

ContexteSAE 1.03 — BUT Informatique
LangageBash / Shell
OSmacOS (zsh)
Planificationcrontab — lundi–vendredi 12h
Année1ère année BUT · 2023–2024

Le script en action

Exécution backup.sh
🔍
01

Exécution du script

Le script s'exécute, effectue la sauvegarde et confirme que la tâche cron est déjà configurée. La commande crontab -l affiche la planification active.

./backup.sh crontab tar
Fichier log
🔍
02

Fichier LOG horodaté

Chaque sauvegarde génère un fichier de log complet : liste des fichiers traités, horodatage précis, statut de succès ou d'erreur. Traçabilité totale des opérations.

Logs Horodatage Traçabilité
Rapport HTML
🔍
03

Rapport HTML généré

Un second script génère automatiquement un fichier HTML affichant l'arborescence des sauvegardes avec leur statut — une interface lisible pour suivre l'historique.

HTML généré generate_html.sh Arborescence
Info sauvegarde
🔍
04

Confirmation horodatée

Le rapport affiche clairement la date et l'heure exacte de chaque sauvegarde réussie — ici le 18 janvier à 16h22 et 31 secondes — pour une traçabilité sans ambiguïté.

date Confirmation Audit

Sauvegarde = première ligne de défense

Un script de backup bien conçu est un élément fondamental de toute politique de sécurité informatique.

✅ Bonne pratique

Règle du 3-2-1

Toute stratégie de sauvegarde sérieuse suit la règle 3-2-1 : 3 copies des données, sur 2 supports différents, dont 1 hors site. Ce script pose les bases d'une telle démarche.

Mise en œuvre → Archive .tar horodatée par répertoire
✅ Bonne pratique

Logs & traçabilité

En cybersécurité, la traçabilité est essentielle. Chaque opération est enregistrée dans un log horodaté permettant de savoir exactement quand, quoi et comment une sauvegarde a été effectuée.

Mise en œuvre → Fichier .log par sauvegarde avec statut
✅ Bonne pratique

Automatisation sans intervention

L'erreur humaine est la première cause de perte de données. En automatisant via crontab, on élimine le risque d'oubli et garantit une sauvegarde régulière et fiable.

Mise en œuvre → cron lundi–vendredi à 12h00
⚠️ Menace couverte

Ransomware & chiffrement malveillant

En cas d'attaque par ransomware chiffrant les fichiers, disposer de sauvegardes récentes et isolées permet de restaurer les données sans payer de rançon.

Protection → Archives .tar conservées hors du répertoire source
⚠️ Menace couverte

Suppression accidentelle

Un rm -rf malencontreux, une corruption de disque ou une erreur humaine peuvent détruire des données critiques. La sauvegarde automatique est le filet de sécurité indispensable.

Protection → Sauvegarde quotidienne avec horodatage
✅ Bonne pratique

Vérification d'existence avant action

Le script vérifie systématiquement l'existence des répertoires et de la tâche cron avant d'agir — principe de validation préalable qui évite les erreurs silencieuses.

Mise en œuvre → Conditions if/else sur chaque étape critique

Stack utilisée

💻
Bash / Shell
Scripting
⏱️
crontab
Planification
📦
tar
Archivage
🍎
macOS / zsh
Environnement
📄
HTML généré
Rapport
📋
Logs .log
Traçabilité