Bash : scripts et automatisation 20 min de lecture

Scripts, conditions et cron

Ecrire un script

#!/bin/bash
echo "Bonjour $USER !"
echo "Nous sommes le $(date)"
echo "Vous etes dans : $PWD"
chmod +x mon_script.sh
./mon_script.sh

Conditions

#!/bin/bash
if [ -f "/etc/passwd" ]; then
    echo "Le fichier existe"
else
    echo "Le fichier n'existe pas"
fi

# Tests : -f fichier, -d dossier, -z vide, -n non-vide
# "$a" = "$b" egalite, $a -eq $b numerique, $a -gt $b plus grand

Boucles

for fichier in *.txt; do
    echo "Traitement de $fichier"
done

compteur=1
while [ $compteur -le 5 ]; do
    echo "Iteration $compteur"
    compteur=$((compteur + 1))
done

Cron — Planification

crontab -e    # Editer
crontab -l    # Lister

# minute heure jour mois jour_semaine commande
0 2 * * * /home/user/backup.sh       # Tous les jours a 2h
*/15 * * * * /home/user/check.sh      # Toutes les 15 min
0 0 * * 0 /home/user/weekly.sh        # Dimanche minuit
Bonne pratique : Commencez par #!/bin/bash et ajoutez set -e pour arreter en cas d'erreur.