Firefoxの履歴からN日以上古いものをすべて削除するにはどうすればよいですか?


10

私はFireFoxに90日間の履歴を保存するように設定しましたが、これによりAwesomeBarの速度が低下すると思います。45日間の履歴を保存するように設定しましたが、45日以上経過した既存の履歴のすべてを削除する方法がわかりません。

回答:


3

コマンドラインでは、コマンドを使用してbashシェルで次のコードを試すことができますsqlite3(Windowsを使用する場合はbashとcygwinが必要です。またはWindowsで同じツールを検索してください)。

date +%s -d "1 month ago" # the date, one month ago
1329352723

$ sqlite3 ~/mozilla/.firefox/*default/places.sqlite

sqlite> delete from moz_places
   ...> where id in (
   ...>     select id from moz_historyvisits
   ...>     where visit_date/1000000 < 1329352723
   ...> );

sqlite> delete from moz_historyvisits
   ...> where id in (
   ...>     select id from moz_historyvisits
   ...>     where visit_date/1000000 < 1329352723
   ...> );
sqlite>

万が一に備えて、まずプロファイルをバックアップしてください。;)


2

Use Linux Nowからの長い代替案:

Firefoxの履歴をトリミングする

履歴ログをクリアしてFirefox 3を大幅に高速化する方法についての私の以前の投稿のフォローアップとして、私のように、履歴ログ全体を一挙に打ち負かしたくない人々のためのヒントとコツをいくつか紹介します。

常に適切な量の履歴を記録しておく最も有用で説得力のある理由の1つは、すばらしいバーを強化するためです。バーにURLを入力するたびに、Firefoxは履歴を検索して、選択できる候補のリストを表示します。言い換えると、履歴ログをクリアすると、素晴らしいバーがしばらくの間まったく役に立たなくなります。

ただし、履歴ログをトリミングする際に重要なことは、FirefoxはWebの隅々まで記録し、つま先を植え付けることです。これには、すべてのGoogle検索、すべての動画検索、Google画像検索で開いたすべての画像、およびこれまでに読んだすべての電子メールが含まれます。あなたは、非常に奇抜で筋金入りのユーザーでない限り、あなたが素晴らしいバーに表示したり、表示したりすることは決してないであろうすべてのジャンクの少なくともいくつかがあることを今までに理解しているはずです。つまり、目立ったペナルティなしに、これらの履歴の一部を破棄できます。したがって、次の質問は当然です。履歴ログの不要な部分をどのように分離するのでしょうか。

これはもちろん厄介な問題であり、これをどの程度うまく実行できるかは、自分のサーフィンの習慣に依存します。幸いなことに、Firefox 3には秘密の武器である素晴らしいFirefox 3ライブラリマネージャーもパッケージされています。これは、Firefox 3に同梱されている気の利いたツールで、閲覧履歴とブックマークを単一の強力なインターフェースで管理できます。私たちの目的のために、「Shift-Ctrl-H」を押すか、「履歴>すべての履歴を表示」に移動することで起動できます。

Firefoxライブラリマネージャーによるスマートトリミング

それでは、このライブラリマネージャーの用途は何ですか?まあ、とりわけ、このツールにはかなり強力な検索機能が組み込まれています(上部のテキストボックスを参照してください)。この検索機能と少し考えてみると、特定の種類の履歴項目を簡単に分離し、一気に削除することができます。たとえば、すべてのグーグル検索を削除したい場合(私はとにかく個人的に有用だとは思いません)、「グーグル検索?」検索フォームに。次にマネージャーが行うことは、キーワード「google」と「search」の両方を含むログ内のすべての履歴項目をリストすることです。URLまたはタイトル。これはたまたますべてのGoogle検索のURL構造に対応しているため(そして何も並んでいない)、次のようにすべてのGoogle検索がまとめられていることがわかります。

ここに画像の説明を入力してください

ログに記録されたすべてのGoogle検索の分離

すべてのグーグル検索を削除するには、すべて(Ctrl-A)を選択して、削除を押します。履歴がたくさん保存されている場合、これは遅れてしばらく時間がかかることがあります。その後、完了です。何百もの不要な履歴エントリを削除しました(Googleを頻繁に使用している場合)。

同様に、役に立たないと考えるものに応じて、多くの異なるクラスの履歴項目を削除できます。トリックは、削除する履歴アイテムのタイプを区別できる、ある種の繰り返しパターン(タイトルまたはURL)を識別することです。これは簡単な場合もあります。たとえば、Gmailのメールを読んでいるすべてのログを削除したい場合(個人的にはまったく役に立たないと思います)、単に「mail.google.com/mail」を検索して、その他の操作を行うことができます。

ここに画像の説明を入力してください

メール閲覧ログの分離

もちろん、少し難しいかもしれません。ここにあなたが試すことができるいくつかの提案されたキーワードがあります:

  • すべてのhotmail電子メールとページを分離するライブメール。
  • .jpgは、開いたすべてのjpg画像を分離します。同様に、gif画像には.gif、pngには.pngを実行できます。
  • youtubeウォッチ?視聴したすべてのYouTube動画を分離する。
  • Googleで検索結果をクリックするたびに、Googleは目的の目的地に行く前に中間ページを開き、もちろんFirefoxはこの明らかに役に立たない中間ページを忠実に記録しています。幸い、これらのページは簡単に分離できます。GoogleのURLを検索しますか?

もちろん、どのようなジャンクが履歴ログに最も多く蓄積されるかは、サーフィンの習慣に大きく依存します。場所列に従ってログを並べ替えるだけで、履歴ログの大部分を占めるページの種類の手掛かりを得ることができます。これを行うには、「場所」列ヘッダーをクリックします。

ここに画像の説明を入力してください

履歴ログの大部分を占めているものの手がかりのために場所で並べ替えます。

Firefoxが保持する履歴の量を制限する

以前の投稿で、Firefoxには[編集]> [設定]> [プライバシー]にある「履歴を少なくともXX日間保持する」という設定があることを述べました。これは「ソフト」制限であり、XX日後に履歴が削除されることを意味するわけではありません。Firefoxの設定でabitをいじることで「ハード」制限を設定できます。これをする :

  • アドレスバーに「about:config」と入力します。あなたは私たちが何をしようとしているのかについて非常に適切な警告メッセージを受け取るはずです。同意すると、めまいがする設定パラメータの配列が表示されます。幸いなことに、私たちはそれらのいくつかにのみ関心があります。
  • フィルターボックスに「history」と入力し、表示されたら「browser.history_expire_days」をダブルクリックします。
  • 履歴を保持する日数を入力します。出来上がり!終わったね。Firefoxは、その日数の間にアクセスされなかったすべての履歴アイテムを削除します。'browser.history_expire_sites'の値を変更することで、保持する履歴アイテムの総数にハード制限を設定することもできます。

より高度な代替手段

Firefox 3では、すべての履歴アイテム(およびブックマーク)がSQLiteデータベースに保存されていることがわかりました。したがって、SQLに精通していて、より強力なクエリを実行して履歴アイテムを選択的に削除したい人は、SQLiteマネージャーと呼ばれるこのきちんとしたFirefoxアドオンを試すことができます。ITは、PhpMyAdminがMySQLに対して行うように、GUI SQLiteデータベースマネージャーとして機能します。適切なデータベースにアクセスするには、アドオン([ツール]> [SQLite Manager])を起動し、右上のドロップダウンリストから[places.sqlite]を選択します。そこから好きなようにクエリするインターフェイスはかなりばかである証拠です。


2
CCleanerは必要ありません。Firefoxは、すべてをクリーンアップしたい場合に、独自の履歴をクリーンアップできます。ツール>最近の履歴をクリアに移動します(これはFF3.5でのプライベートデータのクリアという文言です)。
エラン

神はユーモアのセンスがない人もいます!
Ivo Flipse

@Ivo:質問に「ユーモア」のタグがないため、誰もが真剣に回答する必要があります:]
Gnoupi

その後、誰も私の編集を真剣に受け止めなかったことを確認してください...
Ivo Flipse

1
全部読む時間はありませんが、スマートに見えます。+1
theycallmemorty 2009


2

SQLiteを使用している場合は、次のコマンドを実行できます。

echo 'DELETE FROM moz_historyvisits
WHERE visit_date < strftime("%s", "now", "-5 month") * 1000000; VACUUM;' |
sqlite3 places.sqlite

1

「今日」オプションは、現在の暦日の履歴を削除することを意味します。24時間持続しない。

たとえば、23時50分にYouTubeにアクセスし、現在23時55分にアクセスしたとします。履歴を開く->今日-> YouTubeが表示されます。その後、00:05にスーパーユーザーにアクセスし、すでに00:15にアクセスしています。オープン履歴->今日->スーパーユーザーのみが表示されますが、オープン履歴->昨日->ユーチューブが表示されます。したがって、Firefoxで[最近の履歴をクリア]-> [今日]->を選択した場合、スーパーユーザーのみが削除されますが、YouTubeは残ります。


スーパーユーザーへようこそ!これで質問に答えることができるかもしれませんが、なぜそうするのかについての説明を提供できれば、より良い答えになります。
DavidPostill

0

24時間待ってください! または、ブラウザを閉じて(タブをキャッシュに保存せずに(必要に応じてすべてのタブにブックマークを付けて))、それを開いて、機能するかどうかを確認します。


0

/ usr / bin / sqlite3を更新した後、次の高速bashスクリプトは私のOS X 10.6.8でうまく機能しています。うまくいけば、OS XとLinuxのほとんどのバージョンで動作するでしょう。

d=30; # Number of days of history to keep 
find ~ \( -ipath *Mozilla/Firefox*/places.sqlite -or -ipath *Support/Firefox*/places.sqlite \) > ~/.firefox-places; 
x="$(<~/.firefox-places)"; # List of locations of Firefox places.sqlite - may not use 'find' every time in future 
cd "${x%%places.sqlite*}"; # For the time being select only the first places.sqlite location - may change later 
t=$(date -v-"$d"d +%s)000000; # Fast Moz compatible time for 'd' days ago - note the 'multiply' by 1,000,000 
sudo echo "delete from moz_historyvisits where visit_date < $t; vacuum;" | sqlite3 places.sqlite; 

ここでの表示を改善するために、上記のスクリプトをラップしないでください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.