Mozilla Thunderbird

Идеята е идентична както в поста ми Firefox datumbazoj VAKUO kaj REINDEX. От известно време Debian разкараха ребрадинраните версии на Mozilla продуктите. При миграцията от Icedowe към Thunderbird се замислих, че не съм си дефрагментирал базата, а досега през email клиента ми са изтекли сериозно количество писма, email акаунти и сървъри, потребители и пароли. Скрипта е идентичен с този от предишният ми пост само с лека модификация за къде да търси файловете 🙂

Linux версията

for db in $(find ~/.thunderbird/$(grep Path ~/.thunderbird/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
echo "VACUUM ${db}"
sqlite3 ${db} VACUUM
sqlite3 ${db} REINDEX
done

Mac os версията

for db in $(find ~/Library/Thunderbird/$(grep Path ~/Library/Thunderbird/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

За разлика от профилната папката на Firefox тази на Thunderbird е с доста по правилен път (без space) и не се налага да се прави промяна на delimiter.

Unu lerta lertaĵo por plibonigi la rapidon de Firefox retumilo kiel Vacuums SQLite bazis sian datumoj. Vacuum procezo Drops datumbazo kiel ŝi tiel desfragmentar, malpliigita amplekso kaj postulo faras rapide, disko uzado pli efike kaj eble malpliigis ŝarĝon sur via disko kiel legi en la sekvenco de sektoroj mi. Ĝenerale ĉi validas por ajna datumbazo kiu ne aŭtomate vakuo / Defrag mem.

La procezo de defragmenting la datumbazo Firefox estas sufiĉe banalaj – elfari SQLite3 db-dosiero vakuo la profilon dosierujo de firefox. En linukso la vojo al ĝi estas kutime ~ / .mozilla / firefox / hazarda-name.default. Ĝenerale, vi devas nur 1 via dosierujo en .mozilla / firefox Se vi havas pli vi povas kontroli ~ / .mozilla / firefox / profiles.ini al la ĝusta dosierujo estas la profilon de via retumilo. Тъй като не ми се занимава да извършвам процеса на ръка разписах елементарен скрипт с който да дефрагментирам базите данни:

for db in $(find ~/.mozilla/firefox/$(grep Path ~/.mozilla/firefox/profiles.ini | cut -d'=' -f2) -maxdepth 1 -name "*.sqlite" -type f)
do
   echo "VACUUM ${db}"
   sqlite3 ${db} VACUUM
   sqlite3 ${db} REINDEX
done

След изпълняване на скрипта търсенето в history-то и самото зареждане на лисика е чувствително по бързо. Скрипта предполагам че с малки модификации може да се ползва и в Mac OS.

p.s Ето варианта и за Mac OS Xтестван на Mac OS X Sierra. Налага се да форсираме делимитъра да е нов ред заради space в пътя до папката в която се съдържа профила на firefox

OIFS="$IFS"
IFS=$'\n'
for db in $(find ~/Library/Application\ Support/Firefox/$(grep Path ~/Library/Application\ Support/Firefox/profiles.ini | cut -d'=' -f2)  -maxdepth 1  -name "*.sqlite" -type f)
do
echo "VACUUM && REINDEX ${db}"
sqlite3 "${db}" VACUUM;
sqlite3 "${db}" REINDEX;
done

atesto en ipv6.he.net havas ĉiutagan provoj kiuj donas 1 aldona punkto post pasinte ĉiuj ĉefaj provoj. Devas esti farita 100 tia provo por maksimuma rezultojn 😐 . La testoj mem estas tute bagatela

  • traceroute
  • VI AAAA
  • DIG PTR
  • ping
  • Kiu estas

La plej malagrabla estas ke la provoj mem devas esti unika, te vi povas uzi domajno dufoje la 🙂 Interalie estas iom ĝena 🙄 – neniu defio ĵus vipis 5 CLI-komandoj en ĝi kaj kopio / alglui la rezulton en sia retejo.

Kiel maldiligentan kaj administranto kiu ŝatas faras vivon pli facila haste rapidan simpla bash-ke fari la malpuran laboron por mi

#!/bin/bash

hr() {
  local start=$'\e(0' end=$'\e(B' line='qqqqqqqqqqqqqqqq'
  local cols=${COLUMNS:-$(tput cols)}
  while ((${#line} < cols)); do line+="$line"; done
  printf '%s%s%s\n' "$start" "${line:0:cols}" "$end"
}

if [ -z $1 ]
then
  echo "Append domain afert the script name!!!"
  exit
fi

IP=$(dig $1 AAAA +short)

if [ -z ${IP} ]
then
  echo "$1 dont have valid IPv6 record"
else
  reset
  traceroute6 $1
  hr
  dig $1 AAAA
  hr
  dig -x ${IP}
  hr
  ping6 -c3 ${IP}
  hr 
  whois ${IP}
fi

Kiel povas esti vidita la skripto estas insanely simpla. Submit domajnon tiam validigas ĉu IPv6 aldonaj kaj se farita ĉiutage provoj por ĝi. Plej malvarmaj parto – funkcio hr kiu presas linion trans la larĝo de la ekrano estas prenita de bash-hackers.

Unu el la aferoj ke plejparto agacas min multe estas kiam CLI kopii / movi grandajn dosierujojn Mi havas neniun ideon kio procento de la totala kvanto mi ruliĝis. Bedaŭrinde cp / mv havas similajn potencojn kaj devi recurrir al alternativoj. Ekzistas multe de ŝancoj sed mi persone mi ĝuo uzi rsync anstataŭ pc / mv. Ĝi ĉio konstruita – reteno de rajtoj super dosierojn kaj dosierujojn, progreso trinkejo kaj la kapablon forigi la kopiita dosierojn.

Esence mi faris 2 alias-а които вършат повече от чудна работа:

alias cpi='rsync -a --info=progress2'
alias mvi='rsync -a --info=progress2 --remove-source-files'

Postulo sur Linukso dosiero kiel tuto estas tre facile trovi la komando kiu enkonstruita iloj por trovi dosierojn pli grandajn ol certa grandeco:

find / -type f -size +10M

En la supra ekzemplo trovos ĉiujn dosierojn pli grandajn ol certa grandeco kiu estas akceptebla al iuj sed nia entuta maltrankvilo ni tute arkivi aparte se vi provas ke en la supra ekzemplo, Vi ricevos multajn erarmesaĝoj pro problemoj aliri dosierojn aŭ malpermesita legado. Ĝenerale la solvo de la respektiva 2 проблема става лесно с допълването на по горната команда по следният начин:

find / -type f -size +10M -exec ls -lh {} \; 2> /dev/null | awk '{ print $NF ": " $5 }'