Développement de Scripts et Automatisation sur Linux/Unix

Public cible: administrateurs systèmes

Prérequis:

Durée de la Formation

  • Total : 5 jours (40 heures)

Objectifs de la Formation

  • Comprendre les bases des systèmes d'exploitation Linux/Unix.

  • Maîtriser la création et l'exécution de scripts shell.

  • Automatiser des tâches courantes sur Linux/Unix.

  • Utiliser des outils de gestion de tâches automatisées comme cron et systemd.

Jour 1 : Introduction à Linux/Unix et au Scripting Shell

Matin : Introduction à Linux/Unix

  • Historique et distribution de Linux/Unix

  • Concepts fondamentaux : noyau, shell, système de fichiers

  • Commandes de base : ls, cd, pwd, mkdir, rm, cp, mv

Après-midi : Introduction au Scripting Shell

  • Qu'est-ce qu'un script shell ?

  • Structure d'un script : shebang, commentaires

  • Écrire et exécuter son premier script

  • Variables et opérateurs

  • Les permissions de fichiers (chmod)

Lab 1 : Premiers Scripts Shell

  • Création d'un script simple pour afficher "Hello, World!".

  • Écriture d'un script pour lister les fichiers d'un répertoire et afficher leur taille.

Jour 2 : Gestion des Fichiers et Flux de Données

Matin : Gestion Avancée des Fichiers

  • Redirections d'entrée/sortie (>, >>, <, |)

  • Utilisation des commandes cat, head, tail, sort, uniq

  • Gestion des archives avec tar, gzip, bzip2

Après-midi : Traitement de Texte

  • Commandes grep, sed, awk

  • Expressions régulières

  • Recherche et remplacement dans des fichiers

Lab 2 : Manipulation des Fichiers et Traitement de Texte

  • Écriture d'un script pour archiver et compresser des fichiers.

  • Script pour analyser des fichiers log et extraire des informations spécifiques.

Jour 3 : Structures de Contrôle et Fonctions

Matin : Structures de Contrôle

  • Instructions conditionnelles : if, else, elif

  • Boucles : for, while, until

  • Commandes case

Après-midi : Fonctions et Debugging

  • Définition et appel de fonctions

  • Paramètres de fonctions

  • Techniques de debugging (set -x, trap)

Lab 3 : Scripts Avancés

  • Script avec des conditions pour vérifier l'état du système (espace disque, utilisation CPU).

  • Création d'un script avec des fonctions pour modulariser le code.

Jour 4 : Automatisation et Planification de Tâches

Matin : Cron et Anacron

  • Introduction à cron et anacron

  • Syntaxe des fichiers crontab

  • Planification de tâches récurrentes

Après-midi : Systemd

  • Introduction à systemd et aux services

  • Création de fichiers unitaires pour automatiser des scripts

  • Gestion des services (start, stop, enable, disable)

Lab 4 : Planification de Tâches

  • Mise en place d'un job cron pour effectuer une sauvegarde quotidienne.

  • Création d'un service systemd pour lancer un script à l'initialisation du système.

Jour 5 : Projet Final et Mise en Pratique

Matin : Projet de Fin de Formation

  • Présentation du projet : Automatisation d'un processus complet (ex. sauvegarde, monitoring, nettoyage)

  • Conception du script et planification des tâches

Après-midi : Réalisation du Projet et Évaluation

  • Développement, test et débogage du script

  • Mise en place de la planification des tâches

  • Présentation du projet aux formateurs et aux autres participants

Lab 5 : Projet Final

  • Application des connaissances acquises pour créer un script automatisé complet.

  • Configuration de la planification des tâches associées.

Ressources et Supports Pédagogiques

  • Accès à un environnement de développement Linux (VM ou Docker)

  • Documentation et tutoriels en ligne

  • Support et assistance pendant les labos

Évaluation

  • Évaluations continues à travers les labos pratiques

  • Évaluation finale basée sur le projet réalisé

Conclusion

Cette formation permet aux participants de maîtriser le développement de scripts shell et l'automatisation sur Linux/Unix, en alliant théorie et pratique à travers des exercices et projets concrets.

Last updated