Hvorfor? Opstart, søgninger, og den slags går hurtigere.
Har du ikke så meget ubrugt plads i sqlite3 filerne som mig er der nok ikke noget at hente.
Der er mange andre programmer der bruger sqlite3 database filer, fordi sqlite3 er nyttig til at gemme opsætning og andre nyttige ting i letvægtsdatabasen.
Før du går igang
Du skal have sqlite3 porgrammet ind, så kør:
Kode: Vælg alt
sudo apt-get -y install sqlite
En lille stump bash shell script
Det hele baserer sig på følgende lille stump bash shell script, som du kan afvikle for alle programmer der bruger sqlite3 database filer:
Kode: Vælg alt
for F in $(find . -type f -name '*.sqlite' -print)
do
sqlite3 $F "VACUUM;"
done
Før du bruger den:
Der er dog 1 krav du altid skal overholde, og det er at programmet ikke under nogen omstændigheder må køre.
Firefox scriptet
(bash shell) scriptet til firefox ser således ud:
Kode: Vælg alt
#!/bin/bash
proc="$(ps aux | grep $USER | grep -v $0 | grep firefox | grep -v grep)"
if [ "$proc" != "" ]
then
echo "Firefox skal lukkes ned før du kan bruge dette script.\n"
echo "You has to shutdown Firefox first, before you can use this script!\n"
exit 1
fi
curdir=$(pwd)
for dir in $(cat ~/.mozilla/firefox/profiles.ini | grep Path= | sed -e 's/Path=//')
do
cd ~/.mozilla/firefox/$dir 2>/dev/null
if [ $? == 0 ]
then
echo "i'm in $(pwd)"
echo -e " kører...\n"
echo -e " running...\n"
for F in $(find . -type f -name '*.sqlite' -print)
do
sqlite3 $F "VACUUM;"
done
echo -e "færdig i $(pwd) ...\n"
echo -e "done in $(pwd) ...\n"
else
echo -e "\n Mappen $dir findes ikke !!!!\n"
echo -e "\n The directory $dir does not exists !!!!\n"
fi
done
echo "Scriptet er færdig med at arbejde, du kan godt starte Firefox igen";
echo "The script had done its job, you can start Firefox again";
cd $curdir
Thunderbird scriptet
bash shell scriptet til thunderbird ser således ud:
Kode: Vælg alt
#!/bin/bash
proc="$(ps aux | grep $USER | grep -v $0 | grep thunderbird | grep -v grep)"
if [ "$proc" != "" ]
then
echo "Thunderbird skal lukkes ned før du kan bruge dette script.\n"
echo "You has to shutdown Thunderbird first, before you can use this script!\n"
exit 1
fi
curdir=$(pwd)
for dir in $(cat ~/.thunderbird/profiles.ini | grep Path= | sed -e 's/Path=//')
do
cd ~/.thunderbird/$dir 2>/dev/null
if [ $? == 0 ]
then
echo "i'm in $(pwd)"
echo -e " kører...\n"
echo -e " running...\n"
for F in $(find . -type f -name '*.sqlite' -print)
do
sqlite3 $F "VACUUM;"
done
echo -e "færdig i $(pwd) ...\n"
echo -e "done in $(pwd) ...\n"
else
echo -e "\n Mappen $dir findes ikke !!!!\n"
echo -e "\n The directory $dir does not exists !!!!\n"
fi
done
echo "Scriptet er færdig med at arbejde, du kan godt starte Thunderbird igen";
echo "The script had done its job, you can start Thunderbird again";
cd $curdir
Den opmærksomme læser vil måske have bemærket at hver af de 2 scripts ikke nøjes med kun at tage din *.default mappe, men alle profiles for henholdsvis Firefox og Thunderbird.
(Hver bruger kan have mere end 1 Frefox/Thunderbird profil.)
Noget jeg overvejer at tage i brug eksempler på profiler kan være at du deler dem op i grupper, for mit vedkommende er en separat profil for softwareudvikling oplagt, men da jeg pure nægter at gøre det arbejde manuelt (hvorfor skal jeg gøre det, når det er noget computeren kan lave?) er der muligt emne til et nyt nyttigt program der er specialiseret i det job.
I et sådant program kunne man bruge et websteds URL, og et tag til at udpege information som man så kan gøre noget med. For ubuntu danmark er det: URLen er ubuntudanmark.dk, og et tag kunne være ubuntu.
/Lars