#1 Le 09/01/2013, à 01:48
- Ph3nix_
[Script/Bash] Nettoyer son système
Bonjour,
Résumé
J'ai réalisé un petit script permettant de nettoyer son système, à savoir:
- Vider le cache de l'installeur de paquet synaptic (apt)
- Supprimer les fichier de temporaire du home (ceux avec l'extension ~)
- Vider la corbeille
- Vider le cache de Firefox
Pour l'instant le script possède relativement peu de fonctionnalités, j'en ajouterai par la suite (comme supprimer les anciens noyaux ... etc).
N'hésitez pas a me donner vos retours et vos idées
Installation
- Copier le code ci-dessous dans un fichier.sh que vous aurez crée au préalable:
#!/bin/bash
# ---------- Constantes ---------- #
PROMPT=">"
ASK="n"
# ---------- fonctions ---------- #
erreur() {
case $1 in
1) msg 2 "Option inconnu '$2'." >&2;;
2) msg 2 "Ce script doit être éxécuté en root (sudo)." >&2;;
3) msg 2 "Echec de l'éxécution de la commande '$2'." >&2;;
4) msg 2 "Echec, veuillez fermer Firefox pour vider le cache." >&2;;
esac
}
help() {
echo "Usage:"
echo "clean.sh [OPTION...]"
echo
echo "Aide:"
echo -e "\t-h, --help\tAffiche ce texte"
echo
echo "Autres options:"
echo -e "\t-a, --ask\tDemande comfirmation pour chaque action"
}
msg () {
tabLvl=("\E[36mINFO" "\E[32mASK" "\E[31mERROR")
echo -en "${tabLvl[$1]}\t"
tput sgr0
echo "$2"
}
read_yn() {
msg=${1:-"Voulez vous éffectuer cette opération [y/N] ?"}
local VALUE
msg 1 "$msg"
echo -n "$PROMPT"
read VALUE
[ "$VALUE" = "y" ] && DO="y" || DO="n"
}
# ---------- Test des arguments ---------- #
# Arguments prioritaire
for i in $*;do
[ "$i" = "-h" -o "$i" = "--help" ] && help && exit 0
done
# Autres arguments
while [ "$1" ];do
case $1 in
-a|--ask) ASK="y";;
*) erreur 1 "$1";exit 1;;
esac
shift
done
# root ?
[ ! $(id -u) -eq 0 ] && erreur 2 && exit 1
# ---------- Programme ---------- #
# Suppression du cache apt
DO="y"
msg 0 "Suppression du cache apt"
[ $ASK = "y" ] && read_yn
if [ $DO = "y" ];then
apt-get clean || erreur 3 "apt-get clean"
fi
# Suppression fichier temporaire
msg 0 "Suppression des fichiers temporaires"
[ $ASK = "y" ] && read_yn
if [ $DO = "y" ];then
for i in $(find ~/ -name '*~');do
rm -i "$i"
done
fi
# Supprimer la corbeille
msg 0 "Suppression des éléments dans la corbeille"
[ $ASK = "y" ] && read_yn
if [ $DO = "y" ];then
rm -v ~/.local/share/Trash/files/* 2>/dev/null
fi
# Suppression cache firefox
msg 0 "Suppression cache firefox"
[ $ASK = "y" ] && read_yn
if [ $DO = "y" ];then
for i in ~/.mozilla/firefox/*.default;do
[ -h "$i/lock" ] && erreur 4 && break
echo "rm : suppression des fichiers du repertoire \"$i/Cache/*\""
rm -Rf $i/Cache/*
done
fi
- Ajoutez le droit d’exécution au script, pour cela ouvrez un terminal et saisissez la commande suivante:
chmod +x /chemin/vers/fichier.sh
Utilisation
Le script doit être exécuté avec les droits superutilisateurs (sinon vous aurez un message d'erreur). Pour lancer le script, entrez la commande suivante dans un terminal:
sudo /chemin/vers/fichier.sh
Les options du script:
Usage:
clean.sh [OPTION...]Aide:
-h, --help Affiche ce texteAutres options:
-a, --ask Demande comfirmation pour chaque action
Amusez-vous !
Dernière modification par Ph3nix_ (Le 09/01/2013, à 01:51)
Hiroshima 45 / Chernobyl 86 / Windows '95
Hors ligne
#2 Le 09/01/2013, à 03:16
- Maisondouf
Re : [Script/Bash] Nettoyer son système
Faut rajouter "Supprimer Windows" dans les options
ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor, OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)
Hors ligne