Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/01/2013, à 02: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 wink


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 texte

Autres options:
    -a, --ask    Demande comfirmation pour chaque action

Amusez-vous !

Dernière modification par Ph3nix_ (Le 09/01/2013, à 02:51)


Hiroshima 45 / Chernobyl 86 / Windows '95

Hors ligne

#2 Le 09/01/2013, à 04:16

Maisondouf

Re : [Script/Bash] Nettoyer son système

Faut rajouter "Supprimer Windows" dans les options lol


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