IPB

Bienvenue invité ( Connexion | Inscription )

> Forcer vidage cache Safari
Options
frankie00
posté 23 Mar 2023, 11:20
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 013
Inscrit : 22 Dec 2011
Lieu : Paris
Membre no 173 181



J'ai écrit un bout de programme unix pour vider le cache safari:
>rm -rf ~/Library/Caches/com.apple.Safari
Il refuse alors j'ai mis:
> sudo rm -rf ~/Library/Caches/com.apple.Safari et il refuse aussi
Donc j'ai mis un bout de programme comme ça:
Code
su
rm -rf ~/Library/Caches/com.apple.Safari
if [ $? -eq 0 ]; then
    echo "Le cache de Safari a été vidé avec succès."
else
    echo "Erreur lors du vidage du cache de Safari avec erreur " $?
    echo -ne '\007'
fi
exit

Après le su il me demande le MDP et je le mets mais l'exécution sous Terminal donne cela après le su==>
Code
Password:
sh-3.2#

Et là il attend l'instruction suivante après le prompt
Comment le forcer à exécuter le script sous Terminal?

Ce message a été modifié par frankie00 - 23 Mar 2023, 11:25.


--------------------
¶ Mon blog informatique est la Vague en Creux
¶ MacBook Pro de 2021 avec OS 14.4 Sonoma, 13 pouces, 16 Go de mémoire RAM, processeur M1, SSD de 500Go
¶ Autre MacBook Pro de 2015 avec OS 10.14.5 Mojave 15 pouces Retina, 16 Go de mémoire RAM, processeur quadri-core 2.5 GHz Intel Core , double carte graphique et SSD 512 Go
Nous sommes 2 sur ce site: Jean Pass & Dem Eilleur qui vous saluons bien !“
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
frankie00
posté 28 Apr 2023, 07:38
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 013
Inscrit : 22 Dec 2011
Lieu : Paris
Membre no 173 181



Voici un script qui nettoie certains caches utilisateur, ceux de Chrome et de Safari puis qui éteint l'ordinateur à la fin
C'est prévu pour Mojave sinon il faut modifier certaines instructions

CODE

#!/bin/bash
heure1=$(date +"%H:%M:%S")
# Demande à l'utilisateur s'il veut nettoyer tout le cache système
# Script pour nettoyer les caches utilisateur
echo -e "${CYAN} Voulez-vous nettoyer le cache utilisateur ?${NC}"
for i in {1..3}; do echo -en "\033[5m (y/n) ==> Appuyer sur la touche <Enter> \033[25m"; sleep 0.5; echo -en "\033[0m"; sleep 0.5; done
echo
#echo " (y/n) ==> Appuyer sur la touche Enter ensuite "
read response
if [[ $response == "y" || $response == "Y" ]];
then
m0=`sudo du -sh ~/Library/Caches/ | awk '{print $1}'`
echo -e " Nettoyage des caches utilisateur - au total $GRIS${m0}${NC} - en cours et vidage de la poubelle ... "
echo
# Supprime le cache de la page de swap

sudo rm -rf /private/tmp/* /tmp/*
sudo find /var/log/ -type f -delete


# Supprime le cache DNS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

# Supprime le cache des vignettes
#rm -rf ~/Library/Caches/com.apple.LaunchServices*
sudo rm -rf ~/.Trash/*
sudo purge # nettoie les RAM
echo -e "${YELLOWBRiGT} Le nettoyage des RAM et le vidage de la poubelle est terminé. ${NC}"
else
echo -e "${GREEN} Nettoyage annulé. ${NC}"
echo -ne '\007'
fi


# Vider le cache de Chrome
echo "Vidage du cache de Chrome..."
var1=$(find ~/Library/Caches/ -type d -name "*Chrome*" | xargs du -chd 0 | cut -f1)
var2=$(echo $var1 | awk '{print $1}')
#> /dev/null)
if [ -z "$var1" ]; then
echo -en "${RED} Aucun répertoire avec 'Chrome' n'a été trouvé ${NC}"
else
echo -e "=========================>Au moins un répertoire avec ${GREEN}'Chrome'${NC} a été trouvé"
if [[ ${var2:0:1} == "0" ]]; then
echo -en " ${CYAN} Le cache de Chrome... est vide ${NC}"
echo
else
rm -rf ~/Library/Caches/Google/Chrome/Default
echo -e "${YELLOWBRiGT} Le cache de Chrome a été vidé avec succès et $var2 ont été libérés. ${NC}"
fi
fi

flag=0
# Vider le cache de Safari
if [ -e "/Users/$USER_NAME/Library/Caches/com.apple.Safari" ]; then
mb_variable=$(( $(du -sh /Users/$USER_NAME/Library/Caches/com.apple.Safari 2>/dev/null | awk '{print substr($1,1,1)}') + $(du -sh /Users/$USER_NAME/Library/Caches/com.apple.helpd/Generated 2>/dev/null | awk '{print substr($1,1,1)}') ))
else
mb_variable=$(( $(du -sh /Users/$USER_NAME/Library/Caches/com.apple.helpd/Generated 2>/dev/null | awk '{print substr($1,1,1)}') ))
fi

if [[ $mb_variable -gt 1 ]]; then
echo "Le cache de Safari est de $(($mb_variable/2)) Mo."
else
echo "Le cache de Safari est de $(($mb_variable)) Mo."
fi

echo "Vidage du cache de Safari..."
if [ -e "/Users/$USER_NAME/Library/Caches/com.apple.Safari" ] && [ -e "/Users/$USER_NAME/Library/Caches/com.apple.helpd/Generated" ]; then
# Commandes à exécuter si fichier1 existe
exist1=TRUE
flag=1

# faire quelque chose si les deux fichiers existent
du -sh /Users/$USER_NAME/Library/Caches/com.apple.Safari 2>/dev/null | awk '{print substr($1,1,1)}' >/dev/null
du -sh /Users/$USER_NAME/Library/Caches/com.apple.helpd/Generated 2>/dev/null | awk '{print substr($1,1,1)}' >/dev/null

mb_variable=$(( $(du -sh /Users/$USER_NAME/Library/Caches/com.apple.Safari | awk '{print substr($1,1,1)}') + $(du -sh /Users/$USER_NAME/Library/Caches/com.apple.helpd/Generated | awk '{print substr($1,1,1)}') ))
echo "Vidage du cache de Safari..."
if [[ $mb_variable -gt 1 ]]; then
echo "Le cache de Safari est de $(($mb_variable/2)) Mo."
else
echo "Le cache de Safari est de $(($mb_variable)) Mo."
fi

else if [ -e "/Users/$USER_NAME/Library/Caches/com.apple.Safari" ]; then
# Commandes à exécuter si le fichier n'existe pas
exist1=FALSE
flag=1
mb_variable=`du -sh /Users/$USER_NAME/Library/Caches//com.apple.Safari > /dev/null | awk '{total += $1} END {print total "K"}'`
fi
fi

if [[ ${mb_variable:0:1} == "0" && $flag -eq 1 ]]; then
echo -e " ${CYAN} Le cache de Safari est vide... ${NC}"
else
if $exist1; then
find ~/Library/Caches/ -type d -name "*Safari*" | xargs du -chd 0
sudo rm -rf /Users/$USERNAME/Library/Caches//com.apple.Safari /Users/$USERNAME/Library/Caches//com.apple.helpd/Generated/com.apple.Safari.help*
else
sudo rm -rf /Users/$USER_NAME/Library/Caches//com.apple.Safari
fi
if [ $? -eq 0 ]; then
echo -e "${YELLOWBRiGT} Le cache de Safari a été vidé avec succès . ${NC}"
else
echo -e "${GREEN} Erreur lors du vidage du cache de Safari avec erreur numero ${NC} " $?
echo -ne '\007'
exit
fi
fi


# Fin de l'opération
echo -e "\033[1m Opérations terminées... \033[0m"
#afplay /Users/$USER_NAME/Music/🤡Bruits_sons_divers/bigbenquart.mp3
echo
echo -e "${ROSE} Voulez-vous fermer toutes les applications en cours et éteindre ? ${NC}"
for i in {1..2}; do echo -en "\033[5m (y/n) ==> Appuyer sur la touche <Enter> \033[25m"; sleep 0.5; echo -en "\033[0m"; sleep 0.5; done
read response

if [[ $response == "y" || $response == "Y" ]]; then
echo
echo "Fermeture des applications en cours..."
sudo rm -rf ~/Library/Caches/
echo
# Commandes pour fermer toutes les applications
#sudo shutdown -k now # envoi un avertissement d'extinction
echo "========================"
echo -en "\033[3m Redémarrage à suivre... \033[0m"
sleep 0.5
echo -en "\033[3m Redémarrage à suivre... \033[0m"
sleep 1
echo -en "\033[3m Redémarrage à suivre... \033[0m"
sleep 1
echo
if pgrep "Google Chrome" > /dev/null; then pkill "Google Chrome"; fi
if pgrep "Safari" > /dev/null; then pkill "Safari"; fi
if pgrep "BBEdit" > /dev/null; then pkill "BBEdit"; fi
if pgrep "iTunes" > /dev/null; then pkill "iTunes"; fi
if pgrep "Mail" > /dev/null; then pkill "Mail"; fi
if pgrep "Calendrier" > /dev/null; then pkill "Calendrier"; fi
if pgrep "Dreamweaver" > /dev/null; then pkill "Dreamweaver"; fi
# Commande pour éteindre

# sleep 5 # attendre 5 secondes pour que les applications se ferment
#sudo shutdown -h +1 # extinction dans 1 minute

echo
echo -e "${YELLOWBRiGT} Vous pourrez redémarrer l'ordinateur dans quelques secondes après extinction totale. ${NC}"
if [ -e /Users//$USER_NAME/Desktop/bonhomme.sh ];
then source /Users//$USER_NAME/Desktop/bonhomme.sh
fi

echo
sudo shutdown -h now # éteindre l'ordinateur
exit
else
echo
echo -e "${BLEU} +o=+O++o=+O++o=+O++o=+O++o=+O++o=+O++o=+O++o=+O++o=+O+ ${NC}"
echo
echo -e "${CYAN} Fermeture des applications annulée. ${NC}"
echo
echo -e "${BLEU} +o=+O++o=+O++o=+O++o=+O++o=+O++o=+O++o=+O++o=+O++o=+O+ ${NC}"
echo -ne '\007'
echo
heure2=$(date +"%H:%M:%S")
# conversion des heures en secondes
date1=$(date -j -f "%T" "$heure1" "+%s")
date2=$(date -j -f "%T" "$heure2" "+%s")

# calcul de la différence en secondes
diff=$(expr $date2 - $date1)
echo -e " ${ROSECLAIR}Ce traitement a été effectué entre $heure1 et $heure2.${NC}"

echo -e "${NC}Il s'est écoulé ${GRIS}$diff secondes ${NC} depuis le lancement."
fi
echo



il faut rajouter ceci dans le .profile
CODE

export RED="\\033[0;31m"
export GREEN="\\033[92;1m"
export YELLOWBRiGT="\\033[93;1m"
export NC="\\033[0m" # reset color
export USER_NAME=$(whoami)

export VERT="\\033[1;32m"
export NORMAL="\\033[0;39m"
export ROUGE="\\033[1;31m"
export ROSE="\\033[1;35m"
export BLEU="\\033[1;34m"
export GRIS="\\033[0;02m"
export BLANCLAIR="\\033[1;08m"
export BLANC="\\033[0;37m"
export NOIR="\033[0;30m"
export JAUNE="\\033[1;33m"
export CYAN="\\033[1;36m"
export ROSECLAIR="\033[38;5;218m"

export PS1="\[\e[32m\]\u\[\e[0m\] @ \e[0;36m\h:>\[\e[35m\]\w [\!]\$\e[0m "


Ce message a été modifié par frankie00 - 5 May 2023, 11:21.


--------------------
¶ Mon blog informatique est la Vague en Creux
¶ MacBook Pro de 2021 avec OS 14.4 Sonoma, 13 pouces, 16 Go de mémoire RAM, processeur M1, SSD de 500Go
¶ Autre MacBook Pro de 2015 avec OS 10.14.5 Mojave 15 pouces Retina, 16 Go de mémoire RAM, processeur quadri-core 2.5 GHz Intel Core , double carte graphique et SSD 512 Go
Nous sommes 2 sur ce site: Jean Pass & Dem Eilleur qui vous saluons bien !“
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 3rd September 2025 - 20:58