libAlexandrina.so.tDiary
2013-06-07 Friday
gwibber.sqliteをダイエット
Ubuntuの自動バックアップを便利に使っているのだが妙に遅いファイルがあったので調べてみたら、このファイルが4Gもあった!
twitterクライアントなので発言のキャッシュだろう。テラクラスのHDDではなく、256G程度のSSDを使っている私にとってこれはデカイ。縮めよう。
7日前のunix timeを得る
テーブル定義をみたらunix timeがいるようなので、7日前のunix timeを得る。シェルではこんなんで得られる。
$ date +%s -d '7 days ago'
1369913166
SQLiteでdeleteクエリ
vacuum;がミソ。実行しないと論理削除的なことになり、ファイルサイズが縮まらない。
$ sqlite3 ~/.config/gwibber.sqlite
sqlite> delete from messages where time<1369913166;
sqlite> vacuum;
結果
3,950MB→112MB になりました。1 month ago だと400Mぐらいになったのでまぁこんなもんかな?でもたった1weekのtweetログで112Mもいっちゃうのか。バカにならんな。jenkinsで定期的に実行してやろうかなーと考えたが、自分のディレクトリの下ってのが難易度高いね。まぁ+rwあげればできるだろうが。イマイチだ。結局crontabなのかのう。