如何从Google Chrome浏览器中删除旧的历史记录?


19

我正在使用硬盘驱动器适中的笔记本电脑,而Google Chrome浏览器的“历史索引”和“缩略图”文件占用了500MB的空间。其中一些文件已经使用一年了。Chrome为我提供了删除最近历史记录的选项,但我想要相反的选择:我想删除历史记录。(理想情况下,我会删除最近最少使用的历史记录信息,但我不希望能够做到这一点。)

有人有想法么?我正在运行标准的Debian google-chrome-beta软件包。


Chrome现在内置了对清除历史记录,Cookie和其他数据的支持,因此该问题不再相关。
nhinkle

2
@nhinkle:请引用Google文档的版本号或页面。chrome有“支持”已有一段时间了,但是从chrome 11(当前稳定版本)开始,该支持仅允许删除最近的历史记录,而不能删除旧的历史记录
Norman Ramsey

这还算公平; 我重新打开了问题。抱歉,无法正确理解。
nhinkle

@ NormanRamsey,Chrome会自动删除90天以上的历史记录。那是你想要的吗?
Pacerier,2015年

Answers:


13

对Google感到可耻,还没有办法

除此之外,所有的Chrome数据库都只是sqlite3文件,您可以使用sqlite3清除不需要的条目。首先,安装sqlite3客户端(sudo apt-get install sqlite3),然后转到Chrome配置(应为.config/chrome/Default)。

这是从历史清除旧网址的SQL代码段(适用于数据库HistoryArchived History):

delete from urls where last_visit_time <= (strftime('%s',(select 
   max(last_visit_time)/10000000 from urls),'unixepoch','-1 days')*10000000);

这是另一种可能适用于Thumbnails数据库的方法:

attach database 'History' as history;
delete from thumbnails where last_updated <= (strftime('%s',(select 
   max(last_visit_time)/10000000 from history.urls),'unixepoch','-1 days')
   *10000000);

这可能适用于History Index-es:

attach database 'History' as history;
delete from info i, pages_content pc where i.time <= (strftime('%s',(select
   max(last_visit_time)/10000000 from history.urls),'unixepoch','-1 days')*
   10000000) and i.rowid = pc.rowid;

当然,您应该备份所有数据库,因为您可能具有不同版本的Chrome,或者我可能会意外丢失符号等。

由于Chrome以基于UNIX Epoch的某种奇怪格式存储时间(但乘以10 ^ 7并移至将来),因此无法使用返回日期的系统函数;而是使用最后一页打开的日期。

您可以替换-1 days为任意间隔。您可以在SQLite文档中了解允许的修饰符(简称:-N days-N months)。

删除不需要的数据后,您可能需要发出vacuum;命令以进一步缩小数据库。


2
感谢您的详细回答。我知道我应该在数据库课上多加注意。
诺曼·拉姆齐

@whitequark,“转移到未来”是什么意思?
Pacerier,2015年

3

(这不是一个答案,但我将其保留为警告。)

我见过两个扩展声称可以某种方式做到这一点,但都没有用。

但是,这些(而且我希望其他扩展名)只能调用 chrome.history.deleteRange—如果您很幸运,可以使用合理的参数。根据文档:

从历史记录中删除指定日期范围内的所有项目。除非所有访问都在该范围内,否则不会从历史记录中删除页面。

在实践中,除了(我认为)历史记录页面中未出现的页面之外,我看不到任何效果。尤其是历史数据库文件仍然很大,Chrome仍然为此带来很多投入。因此,我怀疑(从对Chromium 9 beta r68937的非常随意的观察中得出)chrome.history.deleteRange仅影响chrome://history页面中可见的内容,而不影响磁盘上存储的内容,并且影响URL栏的完成。


两者都是坏消息。历史记录限制器会删除您最近7天以外的所有内容,因此,一旦安装,它就会丢失。而Click2Clear History是一个可用性灾难,更不用说屏幕快照中的“自定义时间”似乎无法正常工作。避免使用这两个扩展,尤其是历史记录限制器,它不可逆地删除对历史记录的访问。而且它也不会删除该死的数据!!!!
诺曼·拉姆齐

最后一行是什么意思,“它也不会删除该死的数据”?我想摆脱驱动器上的大型“历史记录索引”文件,这样做吗?
尼尔

历史限制器被固定为不像诺曼指出的那样表现。另外,还有一个历史限制器的分支,它似乎已更新并且更好:chrome.google.com/webstore/detail/history-limiter-custom/…–
bdombro

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.