0 Votes

ScriptsPerso

Modifié par john le 2025/05/25 00:19

Scripts personnels

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
     function 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
      

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 : `/bin/` ou `/.local/bin/`
  • Système : `/usr/local/bin/` (nécessite `sudo`)

N’oublie pas d’ajouter le dossier à ton `$PATH` :

export PATH=$HOME/bin:$PATH

Et de 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