Résolu le 9-04-25 Script de nettoyage à valider

Postez ici vos scripts Bash, Python, C++, etc...
Avatar du membre
Nerva
Messages : 478
Enregistré le : lun. 4 mars 2019 18:48

Script de nettoyage à valider

Message par Nerva »

Bonjour.

Suite à des déconvenues avec Bleachbit :mrgreen: je l'ai définitivement désinstallé. J'ai donc bricolé un script (à passer disons une fois par semaine) pour le nettoyage, en fonction de mes maigres connaissances en la matière. Alors je voudrais savoir si il est correct avant de l'utiliser. Et éventuellement, si on pourrait encore rajouter quelque chose.

Code : Tout sélectionner

#!/bin/sh
echo "Nettoyage du système"
sleep 1
echo "Nettoyage des paquets périmés"
sudo apt-get update
sudo apt-get autoclean
sudo apt-get autoremove
sudo apt-get autoremove --purge
sudo apt-get clean
sleep 3
echo "Nettoyage des journaux"
sudo journalctl --vacuum-time=1d
sleep 3
echo "Nettoyage des fichiers temporaires"
sudo find /tmp -type f -mtime +1 -exec rm -f {} \;
sudo find /var/tmp -type f -mtime +1 -exec rm -f {} \;
sleep 3
echo "Nettoyage des icônes"
find ~/.local/thumbnails -type f -atime +1 -exec rm {} \;
sleep 3
echo "Vidage de la corbeille"
rm -r -f ~/.local/share/Trash/files/* 
sleep 3
echo "Nettoyage des fichiers temporaires de Home"
find ~/ -name '*~' -exec rm {} \;
echo "Processus terminé"
sleep 3
J'aimerais également nettoyer le cache du /home :

Code : Tout sélectionner

rm -rf /home/nerva/.cache/*
Mais il y a /.cache/darktable qui doit absolument être conservé (il contient les vignettes générées des photos) et je ne sais pas si on peut insérer une exception.

Merci.
Linux Mint 22.3 Zena | Mate
Avatar du membre
arghlub
Administrateur du site
Messages : 11287
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence

Re: Script de nettoyage à valider

Message par arghlub »

salut,

pour nettoyer les dépendances, ajoute :

Code : Tout sélectionner

sudo apt install -f
Tour1 (custom) CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : LMint 22.2 | Debian 12 | MX Linux | XFCE
Tour2 (custom) CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 22.1 | MX Linux | XFCE
Portable2 MacBook Air A1466 | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MX Linux XFCE
─────( pour une informatique libre ! )─────
Avatar du membre
Nerva
Messages : 478
Enregistré le : lun. 4 mars 2019 18:48

Re: Script de nettoyage à valider

Message par Nerva »

Les sleep, c'est pour voir pas à pas le déroulement des opérations.

Rajouter la gestion d'erreurs... tu m'en diras tant ! :mrgreen:

Si réseau HS ? Je sais pas. La commande est annulée ou le script s'arrête ?

Applis utilisées en même temps que nettoyage tmp. Je ferme tout avant d'exécuter, mais pour les logiciels en arrière-plan je ne sais pas non plus.

Ok pour les sudo...
Linux Mint 22.3 Zena | Mate
Avatar du membre
Nerva
Messages : 478
Enregistré le : lun. 4 mars 2019 18:48

Re: Script de nettoyage à valider

Message par Nerva »

cyrille a écrit : mar. 1 avr. 2025 19:21 Et on ne met pas rm dans u script au fait, c'est déjà assez dangereux comme commande mais le path complet

Code : Tout sélectionner

/usr/bin/rm 
(cas d'une SID)
Je ne comprends pas ce que ça veut dire. :cry:
Linux Mint 22.3 Zena | Mate
Avatar du membre
tioker
modérateur
Messages : 1144
Enregistré le : sam. 6 mai 2017 00:33
Localisation : Anjou...Feu !
Contact :

Re: Script de nettoyage à valider

Message par tioker »

Nerva a écrit : mer. 2 avr. 2025 10:02
cyrille a écrit : mar. 1 avr. 2025 19:21 Et on ne met pas rm dans u script au fait, c'est déjà assez dangereux comme commande mais le path complet

Code : Tout sélectionner

/usr/bin/rm 
(cas d'une SID)
Je ne comprends pas ce que ça veut dire. :cry:
Ce que Cyrille veut te dire (je pense) c'est que, si tu veux vraiment mettre un "rm" dans ton script, assure-toi que tu utilises bien la bonne commande et surtout le bon programme. Une redirection est si vite arrivée ...
Dis nous
ImageDistrib : Linux Mint 22.2 Desktop : X-Cinnamon
Kernel : 6.8.0-79-generic CPU : AMD Ryzen 5 5600H with Radeon Graphics RAM : 14Gi
CG : NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1)
Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c6)
Avatar du membre
Nerva
Messages : 478
Enregistré le : lun. 4 mars 2019 18:48

Re: Script de nettoyage à valider

Message par Nerva »

Donc, par exemple, plutôt que :

Code : Tout sélectionner

rm -r -f ~/.local/share/Trash/files/*
Il faudrait le chemin complet :

Code : Tout sélectionner

rm -r -f /home/nerva/.local/share/Trash/files/*
?
Linux Mint 22.3 Zena | Mate
Avatar du membre
Nerva
Messages : 478
Enregistré le : lun. 4 mars 2019 18:48

Re: Script de nettoyage à valider

Message par Nerva »

Si je tape :

Code : Tout sélectionner

whereis rm
En retour :

Code : Tout sélectionner

rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
Et je ne suis pas plus avancé...
Linux Mint 22.3 Zena | Mate
Avatar du membre
Nerva
Messages : 478
Enregistré le : lun. 4 mars 2019 18:48

Re: Script de nettoyage à valider

Message par Nerva »

Donc :

Code : Tout sélectionner

rm -r -f ~/.local/share/Trash/files/*
Devient :

Code : Tout sélectionner

/usr/bin/rm -r -f ~/.local/share/Trash/files/*
Ou faut-il également indiquer le chemin de la destination ?

Code : Tout sélectionner

/usr/bin/rm -r -f /home/nerva/.local/share/Trash/files/*
À propos des sudo qui ne doivent pas figurer dans un fichier, dans Caja on peut lancer un script en tant qu'administrateur. Mais comment on fait quand on a créé un lanceur ?
Linux Mint 22.3 Zena | Mate
Avatar du membre
Nerva
Messages : 478
Enregistré le : lun. 4 mars 2019 18:48

Re: Script de nettoyage à valider

Message par Nerva »

Juste un utilisateur...
Linux Mint 22.3 Zena | Mate
Avatar du membre
arghlub
Administrateur du site
Messages : 11287
Enregistré le : dim. 21 mai 2017 08:19
Localisation : Provence

Re: Script de nettoyage à valider

Message par arghlub »

je reviens sur ce post (lu en diago :? )
perso pour 3-4 commandes je ferais plus simple avec un "alias" dans le fichier ".bashrc" ...
exemple :

Code : Tout sélectionner

alias nettoie='sudo apt update && echo -e "\t\tupdate du cache ... fait" && sudo apt autoclean &&sudo apt autoremove && sudo apt autoremove --purge && echo -e "\t\tautocealn/autoremove/autopurge ... fait" && sudo apt-get clean && sudo apt install -f && echo -e "\t\tfix-broken ... fait"'
ensuite dans un terminal quand on tape "nettoie" (nom à modifier comme l'on veut et j'ai ajouté des "echo" entre certaines opérations que l'on peut mettre en forme pour que cela soit plus en évidence)

En image sur un de mes PCs (captture pas belle et plein de fôtes, j'ai fait les annotations trop rapidement mais l'alias marche) :

Image
Tour1 (custom) CPU Intel I7-7700K | CG Nvidia GTX 1080 | RAM 16Go | tripleBoot : LMint 22.2 | Debian 12 | MX Linux | XFCE
Tour2 (custom) CPU AMD Athlon 5200+ | CG Nvidia GTX 560 | RAM 6Go | FreeBSD XFCE
Portable1 MSI GF75 Thin 9SC | CPU Intel I7-9750H | CG Nvidia GTX 1650 | RAM 32Go | dualBoot : LMint 22.1 | MX Linux | XFCE
Portable2 MacBook Air A1466 | CPU Intel I5-5250U | CG Intel HD Graphics 6000 | RAM 8Go | dualBoot : macOS Sierra | MX Linux XFCE
─────( pour une informatique libre ! )─────
Verrouillé