如何删除超过N天的Firefox历史记录中的所有内容?


10

我将FireFox设置为存储90天的历史记录,并且我认为这会降低AwesomeBar的速度。我将其设置为存储45天的历史记录,但是我不知道如何删除超过45天的现有历史记录中的所有内容。

Answers:


3

在命令行中,您可以使用以下命令在bashshell中尝试以下代码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

立即使用Linux的长期替代方案:

整理您的Firefox历史记录

作为我之前关于如何通过清除历史记录日志来显着提高Firefox 3速度的文章的后续,以下是一些技巧和窍门,用于那些像我一样不想一口气破坏整个历史记录日志的人。

始终记录合理数量的历史记录的最有用和令人信服的原因之一是,因为它为您的出色功能提供了动力。每当您在栏中输入网址时,Firefox都会搜索您的历史记录,以列出可供选择的建议。换句话说,清除您的历史记录意味着您的棒​​棒糖将在一段时间内变得非常无助。

但是,修整历史记录日志时要意识到的关键是,Firefox记录了您的每一个网点和缝隙,就像踩到脚趾一样。这包括您所有的Google搜索,所有的视频搜索,在Google图片搜索中打开的每个图片以及您最近阅读的每封电子邮件。现在,您应该意识到,除非您是一个非常特殊和顽固的用户,否则至少会有一些垃圾,您将永远不需要或不想出现在您的超棒栏中。换句话说,我们可以抛弃其中一些历史而不会受到任何明显的惩罚。因此,下一个问题自然是:我们如何隔离历史记录中不需要的部分?

当然,这是一个棘手的问题,能否做到这一点取决于您自己的冲浪习惯。幸运的是,Firefox 3还附带了一个秘密武器-了不起的Firefox 3库管理器。这是Firefox 3附带的一个漂亮工具,可让您在一个功能强大的界面中管理浏览历史记录和书签。就我们的目的而言,您可以通过按“ Shift-Ctrl-H”或转到“历史记录>显示所有历史记录”来启动它。

使用Firefox库管理器进行智能修整

那么这个库管理器有什么用?好吧,除其他外,此工具还内置了相当强大的搜索功能(请参见顶部的文本框?)。借助此搜索功能,我们需要一点思考,我们可以轻松地将某些类型的历史记录项隔离开来,并一举删除。例如,如果您想删除所有的Google搜索(无论如何我个人都不认为它们有用),则可以输入“ google搜索?”。进入搜索表单。管理员要做的就是列出日志中同时包含关键字“ google”和“搜索”的每个历史项。在其网址或标题中。这恰好对应于所有google搜索的url结构(并且几乎没有其他内容),因此您应该看到所有google搜索都像这样装饰:

在此处输入图片说明

隔离所有记录的Google搜索

要删除所有Google搜索,然后只需选择全部(Ctrl-A)并点击Delete。如果您存储了很多历史记录,则可能会滞后一段时间。之后,您就完成了!您刚刚删除了数百个无用的历史记录条目(如果您像我一样经常使用google)!

以类似的方式,您可以删除许多不同类别的历史记录项,具体取决于您认为没有用的类别。诀窍是识别某种重复出现的模式(在标题或URL中),以区分您要删除的历史记录项的类型。有时这很容易:例如,如果您要删除阅读Gmail电子邮件的所有日志(我个人认为这完全没用),则只需搜索“ mail.google.com/mail”,然后瞧瞧!

在此处输入图片说明

隔离您的电子邮件阅读日志

当然,有时可能会有些棘手。以下是一些您可以尝试使用的建议关键字:

  • 实时邮件可隔离所有hotmail电子邮件和页面。
  • .jpg隔离您打开的所有jpg图像。同样,您可以将.gif用于gif图像,将.png用于png。
  • youtube观看?隔离您观看过的所有youtube视频。
  • 事实证明,每当您单击Google中的搜索结果时,Google都会打开一个中间页面,然后再将您带到预期的目的地,并且Firefox当然会忠实地记录这个显然无用的中间页面。幸运的是,这些页面易于隔离。搜索谷歌网址?

当然,您的历史记录中最多累积的是哪种垃圾,这在很大程度上取决于您的冲浪习惯。通过简单地根据“位置”列对日志进行排序,您可以了解哪种类型的页面正在占用历史日志的很大一部分。为此,只需单击“位置”列标题。

在此处输入图片说明

按位置排序,以获取占据历史记录大部分内容的线索。

限制Firefox保留的历史记录数量

我在较早的文章中提到,Firefox在“编辑”>“首选项”>“隐私”中设置了“将我的历史记录至少保留XX天”。事实证明,这是一个“软”限制,并不意味着您的历史记录将在XX天后删除。我们可以通过与Firefox配置混淆来设置“硬”限制。去做这个 :

  • 在地址栏中输入“ about:config”。您应该收到关于我们将要做什么的非常适当的警告消息,对此您应该继续并保证会小心谨慎。达成协议后,您应该会看到令人眼花array乱的配置参数数组。幸运的是,我们只对其中一些感兴趣。
  • 在过滤器框中键入“ history”,然后在显示时双击“ browser.history_expire_days”。
  • 输入您希望保留历史记录的天数。瞧!大功告成 Firefox现在将删除在这几天内未访问的任何历史记录项目。您还可以通过更改'browser.history_expire_sites'的值来设置要保留的历史记录总数的硬限制。

更先进的选择

事实证明,在Firefox 3中,所有历史记录项(和书签)都存储在SQLite数据库中。因此,那些精通SQL并希望执行更强大的查询以有选择地删除您的历史记录项的人可以尝试使用这个名为SQLite Manager的简洁Firefox插件。IT充当GUI SQLite数据库管理器,就像PhpMyAdmin用于MySQL一样。要访问适当的数据库,只需启动插件(工具> SQLite Manager),然后从右上角的下拉列表中选择“ places.sqlite”。从那里查询就可以了。该界面是非常白痴的证明。


2
无需CCleaner,如果您只想清理所有内容,Firefox可以清理自己的历史记录。转到:工具>清除最近的历史记录(这是FF3.5中的措辞,之前是清除私有数据)。
Eran

上帝有些人没有幽默感!
Ivo Flipse,2009年

@Ivo:问题中没有标记“幽默”,因此每个人都必须认真回答:]
Gnoupi

很高兴看到没有人认真对待我的编辑...
Ivo Flipse

1
我没有时间阅读所有内容,但看起来很聪明。+1
他们


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。打开历史记录->今天->您将只看到超级用户,但是打开历史记录->昨天->您将看到youtube。因此,如果您在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; 

请不要包装上面的脚本以改善此处的显示。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.