ScriptsPerso
Scripts personnels
- 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` :
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
- [Explainshell.com](https://explainshell.com) — Pour comprendre une commande Bash ligne par ligne
- [Bash Hackers Wiki](https://wiki.bash-hackers.org/)
- [Shellcheck](https://www.shellcheck.net) — Pour vérifier ses scripts en ligne