Hatena::ブログ(Diary)

雑木林とコンピュータのメモ帳 このページをアンテナに追加 RSSフィード

2009年03月09日(月)

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

以下、ちゃんとテストレビューしていないので自己責任で(ぇ

すでに誰かが使ってそうですが、Dropbox方面でニーズがありそうなので、恥を忍んであp

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

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

という流れです。

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

※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

okbokb 2009/06/15 18:37 先日、このサイトを知り、reindex/vacuumするバッチ処理を重宝させてもらっています。
下記スクリプトで、10KB以下のファイルのreindex/vacuum処理をパスして高速化したいと思うのですが、
どう修正すれば良いでしょうか?スクリプトの知識がないので手に負えませんので、よろしくお願いします。

path C:\FreeSoft\Mozilla Firefox\sqlite3;%path%
set FirefoxProfilesPath=C:\Documents and Settings\(名前)\Application Data\Mozilla\Firefox\Profiles\ntid74nw.okbtsnr
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

okbokb 2009/06/15 20:00 今、気がついたのですが、バックアップのcopyコマンドが構文エラーになっています。
C:\Documents and Settings\(名前)\Application Data\Mozilla\Firefox\Profiles\backupフォルダにコピーされていません。

okbokb 2009/06/15 23:08 http://d.hatena.ne.jp/otn/20090312/p1#c
の方法で解決しました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/dolphinkick/20090309/Firefox_Batch_SQLite_reindex_vacuum