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 15/08/2008, à 13:11

bistory

Compacter les bdd sqlite de Firefox 3

Bonjour à tous !
L'astuce que je donne ici concerne la nouvelle gestion des informations introduites dans Firefox 3 par l'utilisation de bases de données sqlite. Si vous ne possédez que Firefox 2, passez votre chemin, cette astuce ne vous concerne pas smile

J'ai remarqué que les bases de données de Firefox ont tendance à enfler étrangement, j'ai donc essayé de leur appliquer un petit "VACUUM" et le résultat est assez stupéfiant, je suis passé d'un fichier urlclassifier3.sqlite de 55Mo à 27 Mo, soit environ 50% de gain... La barre intelligente du navigateur est plus véloce grâce à ça maintenant smile

Donc je partage ce petit script :

#!/bin/sh

# Tuer firefox au cas où il ne serait pas fermé
killall firefox

# Lancer la commande "kill" sur toutes les bases de données contenues dans le répertoire Firefox
for list in ~/.mozilla/firefox/*.default/*.sqlite; do
  echo "Nettoyage de" $(basename $list)
  sqlite3 $list "VACUUM"
  echo "Fait"
done

wait

Nommez-le "cleanup.sh" par exemple, placez-le où vous le désirerez dans votre répertoire personnel et donnez-lui le droit d'exécution (chmod +x cleanup.sh).

Fermez firefox avant d'exécuter le script sinon il sera tué à la barbare...

Merci de me faire part de vos commentaires, suggestions etc... et de vos scores concernant le gain de place tongue

Dernière modification par bistory (Le 15/08/2008, à 20:22)

Hors ligne

#2 Le 15/08/2008, à 14:56

denisb6481

Re : Compacter les bdd sqlite de Firefox 3

parfait,  me reste juste à tester.
par contre je dirai que chaque personne devra modifier le chemin d'accès :

~/.mozilla/firefox/buy5x2se.default/*.sqlite

en allant regarder dans son profil comment le bon dossier se nomme, ou alors placer le script dans le dossier lui même et en faire un raccourci ( ou lien) dans le home

Hors ligne

#3 Le 15/08/2008, à 15:12

Jeece

Re : Compacter les bdd sqlite de Firefox 3

Merci pour cette intéressante astuce.

J'ai également noté un effet notable sur le fichier places.sqlite (contient les favoris et l'historique). Je suis passé de 45Mio à 4,4Mio !

Assurément très utile avant une opération de sauvegarde du profil firefox.

Dernière modification par Jeece (Le 15/08/2008, à 15:12)


Content que ça vous plaise !

Hors ligne

#4 Le 15/08/2008, à 20:23

bistory

Re : Compacter les bdd sqlite de Firefox 3

denisb6481 a écrit :

parfait,  me reste juste à tester.
par contre je dirai que chaque personne devra modifier le chemin d'accès :

~/.mozilla/firefox/buy5x2se.default/*.sqlite

en allant regarder dans son profil comment le bon dossier se nomme, ou alors placer le script dans le dossier lui même et en faire un raccourci ( ou lien) dans le home

Ah oui merci en effet, je viens de modifier le script en conséquence wink

Hors ligne

#5 Le 29/12/2009, à 16:46

bobe

Re : Compacter les bdd sqlite de Firefox 3

Salut,

je travaillais sur un script de ce genre pour traiter tous les répertoires utilisateur à l'aide d'une tâche cron. Voilà le résultat actuel :

#!/bin/sh

[ -x /usr/bin/sqlite3 ] || exit 0

for homedir in $(awk -F : '{print $6}' /etc/passwd); do
    if [ -d "$homedir/.mozilla" ]; then
        for sqlitedb in $(find "$homedir/.mozilla" -type f -name "*.sqlite"); do
            if [ ! -e "$sqlitedb-journal" ]; then
                echo "VACUUM;" | sqlite3 $sqlitedb
            fi
        done
    fi
done

exit 0

Je vérifie la non présence d'un fichier *.sqlite-journal avant d'optimiser une base de données. Cela évite de devoir killer firefox (d'autant que le killall firefox n'aurait pas d'effet avec iceweasel par exemple, je suppose). Je pense que ça suffit à ne pas perturber le fonctionnement de firefox, mais à confirmer.

Script nommé "local-optimize-mozilla-dbs" et placé dans /etc/cron.monthly chez moi (avec les droits : -rwxr-xr-x 1 root root)

PS: assurez-vous d'avoir toujours au moins un backup de vos données personnelles.

edit 18:00 : j'ai quand même un problème. firefox laisse le fichier "places.sqlite-journal" dans le répertoire du profil, même après extinction (??).

Dernière modification par bobe (Le 29/12/2009, à 18:01)

Hors ligne

#6 Le 29/12/2009, à 19:16

bobe

Re : Compacter les bdd sqlite de Firefox 3

Cette extension, quoiqu'un peu spartiate, m'a l'air pas mal du tout :
https://addons.mozilla.org/en-US/firefox/addon/11198

C'est peut-être plus simple qu'un script exécuté par cron après tout…

Hors ligne

#7 Le 01/08/2010, à 16:26

The_Fallen

Re : Compacter les bdd sqlite de Firefox 3

Je n'ai pas regardé le détaille de la taille des bases, mais la taille de mon répertoire ".mozilla" a diminué de 30%.

Merci bistory.


"Rien n'est plus semblable à l'identique que ce qui est pareil à la même chose" - Pierre Dac

Dell XPS13 9360 / i5-7200U / 8Go RAM / Xubuntu
NUC 10i5 FNH / i5-10210U / 64Go RAM / Ubuntu Server : RAID1 - LVM - LUKS

Hors ligne