Firefox3のSQLiteファイルを一括してreindex/vacuumするバッチ

以下、ちゃんとテスト/レビューしていないので自己責任で(ぇ
すでに誰かが使ってそうですが、Dropbox方面でニーズがありそうなので、恥を忍んであp

Firefox3のSQLiteファイルを一括してreindex/vacuumするバッチファイルです。

  1. Firefoxが使用中ならバッチを抜ける
  2. SQLiteファイルを事前にバックアップ・フォルダへコピー(日時をファイル拡張子に添付)
  3. sqlite3.exe でreindex
  4. sqlite3.exe でvacuum

という流れです。

設定は適当に書き換えて下さい。

  • SQLite3.exe コマンドのパス
  • Firefoxのプロファイルのパス
  • SQLiteファイルのバックアップ・フォルダのパス

※SQLite3.exeファイルは以下からダウンロード
"SQLite Download Page"からPrecompiled Binaries For WindowsA command-line program for accessing and modifing SQLite databases. のZIPをダウンロード

FOR文でプロファイル内のSQLiteファイルをすべてvacuum/reindexするバッチ

path D:\Program Files\sqlite-3_6_2;%path%
set FirefoxProfilesPath=D:\hogehoge\Firefox\Profiles
set BackupPath=%FirefoxProfilesPath%\backup

set DT=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%
set TT=%time: =0%
set TT=%TT:~0,2%%TT:~3,2%

cd %FirefoxProfilesPath%

if exist parent.lock goto EXIT

for %%i in (*.sqlite) do copy %%i %BackupPath%\%%i.%DT%-%TT%
for %%i in (*.sqlite) do sqlite3.exe %%i reindex
for %%i in (*.sqlite) do sqlite3.exe %%i vacuum

:EXIT

places.sqlite, urlclassifier3.sqliteなど個々にvacuum/reindexするバッチ

path D:\Program Files\sqlite-3_6_2;%path%
set FirefoxProfilesPath=D:\hogehoge\Firefox\Profiles
set BackupPath=%FirefoxProfilesPath%\backup

set DT=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%
set TT=%time: =0%
set TT=%TT:~0,2%%TT:~3,2%

set COOKIES=cookies.sqlite
set DOWNLOADS=downloads.sqlite
set FORMHISTORY=formhistory.sqlite
set PERMISSIONS=permissions.sqlite
set PLACES=places.sqlite
set SEARCH=search.sqlite
set URLCLASSIFIER3=urlclassifier3.sqlite

cd %FirefoxProfilesPath%

if exist parent.lock goto EXIT

copy %COOKIES% %BackupPath%\%COOKIES%.%DT%-%TT%
sqlite3.exe %COOKIES% reindex
sqlite3.exe %COOKIES% vacuum

copy %DOWNLOADS% %BackupPath%\%DOWNLOADS%.%DT%-%TT%
sqlite3.exe %DOWNLOADS% reindex
sqlite3.exe %DOWNLOADS% vacuum

copy %FORMHISTORY% %BackupPath%\%FORMHISTORY%.%DT%-%TT%
sqlite3.exe %FORMHISTORY% reindex
sqlite3.exe %FORMHISTORY% vacuum

copy %PERMISSIONS% %BackupPath%\%PERMISSIONS%.%DT%-%TT%
sqlite3.exe %PERMISSIONS% reindex
sqlite3.exe %PERMISSIONS% vacuum

copy %PLACES% %BackupPath%\%PLACES%.%DT%-%TT%
sqlite3.exe %PLACES% reindex
sqlite3.exe %PLACES% vacuum

copy %SEARCH% %BackupPath%\%SEARCH%.%DT%-%TT%
sqlite3.exe %SEARCH% reindex
sqlite3.exe %SEARCH% vacuum

copy %URLCLASSIFIER3% %BackupPath%\%URLCLASSIFIER3%.%DT%-%TT%
sqlite3.exe %URLCLASSIFIER3% reindex
sqlite3.exe %URLCLASSIFIER3% vacuum

:EXIT

バックアップファイルをrotateしたい人は適当に変えて下さい。

以上です。

参考:

Firefox Placesの最適化 その2 - 〜非日常な日々を大切に〜 - Yahoo!ブログ
http://blogs.yahoo.co.jp/strange_afterschool/58366395.html