0 Votes

ScriptsPerso

Version 5.1 par john le 2026/09/20 19:41

Présentation

Cette section regroupe mes scripts Bash et outils d’automatisation développés ou adaptés pour mes besoins personnels.
Ils couvrent des tâches variées : sauvegardes, nettoyage de fichiers, interactions graphiques avec Zenity, organisation de fichiers, etc.


Pourquoi écrire ses propres scripts ?

Créer ses scripts permet de :

  • Automatiser les tâches répétitives : sauvegardes, nettoyages, déploiements…
  • Réduire les erreurs humaines
  • Adapter l’environnement à ses habitudes
  • Documenter une procédure sous forme de code

Un bon script, c’est une forme de documentation exécutée à la volée.


Bonnes pratiques à suivre

Toujours commencer par le shebang :

#!/bin/bash

Mettre le script en mode strict :

set -euo pipefail
IFS=$'\n\t'

Documenter les fonctions :

# Fonction : sauvegarde un répertoire
sauvegarde() {
    rsync -av "$1" "$2"
}

Utiliser getopts pour gérer les options :

while getopts ":s:d:" opt; do
 case $opt in
    s) source=$OPTARG ;;
    d) dest=$OPTARG ;;
 esac
done

Vérifier la syntaxe avant de lancer un script, surtout après modification :

bash -n monscript.sh
Warning

Dans une commande écrite sur plusieurs lignes, la barre oblique inverse de fin de ligne ne doit être suivie de rien, pas même d'un espace : sinon la ligne n'est plus continuée, et le script se comporte autrement sans erreur visible. Contrôle : cat -A monscript.sh, la fin de ligne doit afficher \$.


Liste des scripts disponibles

🔹 Sauvegarde automatique

Un script rsync avec journalisation et gestion via cron.
📌 Idéal pour sauvegarder ses documents sans effort.

🔹 Nettoyage de système

Un script qui supprime caches, fichiers temporaires, et dépendances orphelines.
📌 Parfait pour garder une machine légère et propre.

🔹 Intégration Nautilus + Zenity

Ajoute des actions personnalisées au clic droit dans GNOME, via des boîtes de dialogue interactives.
📌 Super pour les utilisateurs moins à l’aise avec la ligne de commande.

🔹 Organisation automatique de fichiers (à venir)

Trie automatiquement les fichiers dans des dossiers selon leur type, date ou nom.


Où placer mes scripts ?

  • Personnel : ~/.local/bin/
  • Système : /usr/local/bin/ (nécessite sudo)

Ajouter le dossier personnel au $PATH, dans ~/.bashrc :

export PATH="$HOME/.local/bin:$PATH"

Et rendre les fichiers exécutables :

chmod +x monscript.sh

Bonnes idées de scripts futurs

  • Archivage automatique d’un dossier par date
  • Extraction automatique de .tar.gz
  • Notification de batterie faible
  • Upload automatique vers Nextcloud
  • Backup de base de données PostgreSQL/MariaDB
  • Générateur de templates de page XWiki 🎯

Liens utiles


Liens internes


Toutes les pages