Exemples pratiques du fichier source 14-planification_et_execution_automatique.md.
- Section : Tâches planifiées avec cron > Sauvegarde automatique
- Description : Script de sauvegarde automatique pour cron avec rsync, archive tar.gz, rotation des anciennes sauvegardes et logging complet. Adapté avec répertoires temporaires
- Fichier source :
14-planification_et_execution_automatique.md - Comportement attendu : Crée des données de test et 4 anciennes sauvegardes simulées, effectue une sauvegarde rsync, crée une archive
.tar.gz, supprime 1 ancienne sauvegarde (rotation à 3), affiche le log et le contenu du répertoire - Commande :
bash exemples/chapitre14/01_sauvegarde_cron.sh
- Section : Tâches planifiées avec cron > Monitoring système
- Description : Script de monitoring système pour cron vérifiant le CPU, la mémoire, le disque et les services. Alertes par seuils avec logging. Adapté sans envoi d'email
- Fichier source :
14-planification_et_execution_automatique.md - Comportement attendu : Vérifie l'utilisation CPU (via
top), mémoire (viafree), disque (viadf), et la présence de processus (bash, systemd, cron). Affiche les résultats et les alertes éventuelles - Commande :
bash exemples/chapitre14/02_monitoring_cron.sh
- Section : Exécution au démarrage > Script init.d traditionnel
- Description : Script de démarrage de service style init.d avec gestion start/stop/restart/status via PID file. Adapté avec processus de test et fichiers temporaires
- Fichier source :
14-planification_et_execution_automatique.md - Comportement attendu : Démonstration du cycle complet : start (démarrage), status (en cours), restart (arrêt + redémarrage), status (nouveau PID), stop (arrêt), status (non actif)
- Commande :
bash exemples/chapitre14/03_init_service.sh
- Section : Exécution au démarrage > Script de démarrage complet
- Description : Script de démarrage système complet avec attente réseau, montage de systèmes de fichiers, démarrage de services personnalisés et synchronisation de données. Adapté en mode démonstration sans modification système
- Fichier source :
14-planification_et_execution_automatique.md - Comportement attendu : Exécute les tâches de démarrage : vérification réseau (ping 8.8.8.8), montage simulé, configuration système simulée, démarrage de services simulés, synchronisation simulée. Affiche le log complet
- Commande :
bash exemples/chapitre14/04_demarrage_systeme.sh
- Section : Gestion des jobs en arrière-plan > Gestionnaire de daemon
- Description : Gestionnaire de daemon avec commandes start/stop/restart/status, gestion du PID file, arrêt gracieux avec SIGTERM puis SIGKILL, informations CPU/mémoire du processus
- Fichier source :
14-planification_et_execution_automatique.md - Comportement attendu : Cycle de vie complet : start (démarrage avec PID), status (affiche CPU/mémoire/dernière activité), restart (arrêt + redémarrage avec nouveau PID), stop (arrêt), status (non actif), aide
- Commande :
bash exemples/chapitre14/05_daemon_manager.sh
- Section : Gestion des jobs en arrière-plan > Daemon simple
- Description : Daemon simple avec trap pour le nettoyage propre, boucle principale créant des fichiers de statut, nettoyage des anciens fichiers. Adapté avec 3 itérations
- Fichier source :
14-planification_et_execution_automatique.md - Comportement attendu : Exécute 3 itérations de la boucle principale du daemon, crée un fichier de statut par itération (timestamp, PID, compteur, mémoire), affiche les fichiers créés et le log
- Commande :
bash exemples/chapitre14/06_daemon_simple.sh
- Section : Gestion des jobs en arrière-plan > Surveillance de processus
- Description : Script de surveillance de processus critiques avec détection et tentative de redémarrage automatique. Adapté pour vérifier des processus locaux sans systemctl
- Fichier source :
14-planification_et_execution_automatique.md - Comportement attendu : Vérifie 3 processus : bash (OK), init (OK), processus_fictif (ALERTE + tentative de redémarrage simulée). Résumé : 2 OK, 1 ALERTE
- Commande :
bash exemples/chapitre14/07_surveillance_processus.sh
- Section : Exemple complet > Système de sauvegarde automatisé
- Description : Système de sauvegarde automatisé complet avec configuration, verrou d'exécution, sauvegardes parallèles, rotation, rapport et gestion multi-commandes (backup/status/cleanup/check). Adapté avec répertoires temporaires
- Fichier source :
14-planification_et_execution_automatique.md - Comportement attendu : Crée 3 répertoires source de test, effectue les sauvegardes en parallèle (3/3 réussies), génère un rapport détaillé, affiche le statut complet du système (configuration, statistiques, espace disque, logs)
- Commandes :
bash exemples/chapitre14/08_sauvegarde_complete.sh(sauvegarde complète + statut)bash exemples/chapitre14/08_sauvegarde_complete.sh backup(sauvegarde seule)bash exemples/chapitre14/08_sauvegarde_complete.sh status(statut)bash exemples/chapitre14/08_sauvegarde_complete.sh check(vérification espace disque)bash exemples/chapitre14/08_sauvegarde_complete.sh help(aide)
- Tous les scripts sont autonomes : ils créent leurs propres données de test dans des répertoires temporaires (
mktemp -d) avec nettoyage automatique (trap EXIT) - Le script 02 utilise
LC_ALL=Cpour les commandestop,freeetawkafin de garantir un format numérique avec des points (nécessaire sur les systèmes en locale française) - Le script 08 utilise
LC_ALL=Cpourdfafin de garantir un parsing correct des pourcentages - Le script 01 du .md utilise
exec >> "$LOG_FILE" 2>&1pour rediriger la sortie vers le log (comportement normal pour cron) ; le script adapté omet cette redirection pour permettre l'affichage à l'écran - Les scripts 03, 05, 06 utilisent des processus
sleepen arrière-plan pour simuler des services/daemons - Le script 07 utilise
pgrepau lieu desystemctlpour la surveillance des processus - Le script 08 implémente un système de sémaphore avec fichiers pour limiter les sauvegardes concurrentes
- Les commandes
install-cronetuninstall-crondu .md ont été omises du script 08 car elles modifieraient la crontab du système