0% ont trouvé ce document utile (0 vote)
404 vues6 pages

Cours Script Bash Linux

Le document présente un cours sur l'automatisation des tâches avec des scripts Bash sous Linux, en expliquant les concepts de base tels que la création et l'exécution de scripts, les variables, les structures de contrôle, et la manipulation de fichiers. Il aborde également des techniques avancées comme la planification des tâches avec cron et des exemples pratiques d'automatisation. En conclusion, il souligne l'importance de Bash pour automatiser diverses tâches sous Linux.

Transféré par

bessalatsangab
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
404 vues6 pages

Cours Script Bash Linux

Le document présente un cours sur l'automatisation des tâches avec des scripts Bash sous Linux, en expliquant les concepts de base tels que la création et l'exécution de scripts, les variables, les structures de contrôle, et la manipulation de fichiers. Il aborde également des techniques avancées comme la planification des tâches avec cron et des exemples pratiques d'automatisation. En conclusion, il souligne l'importance de Bash pour automatiser diverses tâches sous Linux.

Transféré par

bessalatsangab
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

INSTITUT SUPERIEUR AZIMUT DE AZIMUT HIGHER INSTITUTE OF

COMMERCE, TECHNOLOGIE ET SANTE COMMERCE, TECHNOLOGY AND HEALTH


Arrêté de création n° 14/0027/MINESUP du 11 Mars 2014 Authorization No14/06890/MINESUP 01stOctober 2014
Autorisation d’ouverture n° 14/01316/MINESUP du 11 Mars 2014 Tel: (+237)696 459 283/672 280 944 P.O box 4441
En partenariat avec l’université de Yaoundé II Soa. P.O box 4441 In partnership with the university of Bamenda

Cours : Automatisation des tâches avec des scripts Bash sous Linux

1. Introduction à Bash et à l’automatisation


Qu’est-ce que Bash ?

 Bash (Bourne Again Shell) est un interpréteur de commandes pour Linux/Unix.


 Permet de lancer des commandes, exécuter des programmes et écrire des scripts.

Pourquoi automatiser avec Bash ?

 Réduire les tâches répétitives.


 Automatiser les sauvegardes, le traitement de fichiers, la gestion système, etc.
 Gagner du temps et minimiser les erreurs humaines.

2. Créer et Exécuter un Script Bash


Étape 1 : Créer un fichier de script

Un script Bash est un fichier texte contenant des commandes exécutées séquentiellement.

#!/bin/bash
# Mon premier script Bash
echo "Bonjour, monde !"

 #!/bin/bash : Indique que le script doit être interprété par Bash.


 echo : Affiche un message.

Étape 2 : Rendre le script exécutable

Attribuez les permissions d'exécution avec la commande :

chmod +x mon_script.sh

Étape 3 : Exécuter le script

Lancez le script avec :

./mon_script.sh

3. Concepts de Base en Bash


Variables

Enseignant : M. DEBALOU Ronald


Les variables permettent de stocker et manipuler des données.

#!/bin/bash
nom="Alice"
echo "Bonjour, $nom"

Variables système

 $USER : Nom de l’utilisateur actuel.


 $HOME : Répertoire personnel.
 $PWD : Répertoire courant.

#!/bin/bash
echo "Utilisateur : $USER"
echo "Répertoire personnel : $HOME"
echo "Répertoire courant : $PWD"

Arguments en ligne de commande

Un script peut accepter des arguments.

#!/bin/bash
echo "Premier argument : $1"
echo "Deuxième argument : $2"

Exécution :

./mon_script.sh arg1 arg2

Opérations mathématiques

Bash supporte les calculs simples.

#!/bin/bash
a=5
b=3
somme=$((a + b))
echo "La somme est : $somme"

4. Structures de Contrôle
Conditions

Les conditions permettent de prendre des décisions.

#!/bin/bash
if [ $1 -gt 10 ]; then
echo "Le nombre est supérieur à 10"
else

Page 2 sur 6
echo "Le nombre est inférieur ou égal à 10"
fi

Opérateurs de test :

 -lt : Moins que (<)


 -gt : Plus que (>)
 -eq : Égal à (==)
 -ne : Différent de (!=)

Boucles

Boucle for

#!/bin/bash
for i in {1..5}; do
echo "Numéro : $i"
done

Boucle while

#!/bin/bash
i=1
while [ $i -le 5 ]; do
echo "Numéro : $i"
((i++))
done

Boucle until

#!/bin/bash
i=1
until [ $i -gt 5 ]; do
echo "Numéro : $i"
((i++))
done

5. Manipulation de Fichiers et Répertoires


Créer des fichiers
#!/bin/bash
touch fichier1.txt fichier2.txt
echo "Fichiers créés."

Lister les fichiers


#!/bin/bash
for fichier in $(ls); do
echo "Fichier : $fichier"

Page 3 sur 6
done

Vérifier l’existence d’un fichier


#!/bin/bash
if [ -e fichier.txt ]; then
echo "Le fichier existe."
else
echo "Le fichier n'existe pas."
fi

Options courantes :

 -e : Existe.
 -f : Est un fichier.
 -d : Est un répertoire.

6. Gestion des Entrées/Sorties


Lire l’entrée utilisateur
#!/bin/bash
read -p "Entrez votre nom : " nom
echo "Bonjour, $nom"

Redirection de fichiers

 > : Rediriger la sortie standard (écrase).


 >> : Ajouter à un fichier (append).

#!/bin/bash
echo "Ceci est une ligne de texte." > fichier.txt
echo "Nouvelle ligne ajoutée." >> fichier.txt

Lire un fichier ligne par ligne


#!/bin/bash
while read ligne; do
echo "Ligne : $ligne"
done < fichier.txt

7. Automatisation Avancée
Planification des tâches avec cron

Le planificateur de tâches cron exécute des scripts à intervalles réguliers.

Page 4 sur 6
1. Éditez le fichier crontab :
2. crontab -e
3. Ajoutez une tâche :
4. 0 6 * * * /chemin/vers/script.sh
o **0 6 * * *** : Exécute le script tous les jours à 6h00.

Gestion des journaux

Ajoutez des journaux pour suivre l’exécution des scripts.

#!/bin/bash
echo "$(date): Script exécuté." >> script.log

Surveillance système

Un exemple pour surveiller l’utilisation du disque.

#!/bin/bash
utilisation=$(df -h / | grep '/' | awk '{print $5}' | sed 's/%//')
if [ $utilisation -gt 80 ]; then
echo "Attention : Utilisation du disque supérieure à 80%."
fi

8. Exemples d’Automatisation
1. Sauvegarde d’un répertoire
#!/bin/bash
source_dir="/chemin/source"
backup_dir="/chemin/backup"
date=$(date +%F)
tar -czf "$backup_dir/backup-$date.tar.gz" "$source_dir"
echo "Sauvegarde terminée : $backup_dir/backup-$date.tar.gz"

2. Nettoyage des fichiers anciens

Supprimez les fichiers plus anciens que 7 jours.

#!/bin/bash
find /chemin/vers/repertoire -type f -mtime +7 -exec rm {} \;
echo "Fichiers anciens supprimés."

3. Script de notification par email

Envoyez un email en cas d’événement.

#!/bin/bash
utilisation=$(df -h / | grep '/' | awk '{print $5}' | sed 's/%//')
if [ $utilisation -gt 80 ]; then

Page 5 sur 6
echo "Utilisation du disque critique : $utilisation%" | mail -s "Alerte Disque" [email protected]
fi

10. Conclusion
Avec Bash, vous pouvez automatiser une grande variété de tâches sous Linux. En combinant les
concepts de base (variables, boucles, conditions) avec des outils avancés (cron, gestion des fichiers),
vous pouvez créer des scripts puissants et personnalisés.

Page 6 sur 6

Vous aimerez peut-être aussi