Nor*_*sey 20 linux google-chrome history
我正在使用带有适度硬盘驱动器的笔记本电脑,谷歌浏览器的“历史索引”和“缩略图”文件占用了 500MB。其中一些文件已有一年历史。Chrome 为我提供了删除最近历史记录的选项,但我想要相反的内容:我想删除旧历史记录。(理想情况下,我会删除最近最少使用的历史信息,但我不希望能够做到这一点。)
谁有想法?我正在运行标准的 Debiangoogle-chrome-beta
软件包。
whi*_*ark 14
可耻的是谷歌,目前还没有办法。
除此之外,所有 Chrome 数据库都只是 sqlite3 文件,您可以使用 sqlite3 清除不需要的条目。首先安装sqlite3
客户端(sudo apt-get install sqlite3
),然后进入Chrome config(应该是.config/chrome/Default
)。
这是一个从历史记录中清除旧 URL 的 SQL 片段(适用于数据库History
,Archived History
):
delete from urls where last_visit_time <= (strftime('%s',(select
max(last_visit_time)/10000000 from urls),'unixepoch','-1 days')*10000000);
Run Code Online (Sandbox Code Playgroud)
这是另一个可能适用于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);
Run Code Online (Sandbox Code Playgroud)
这可能适用于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;
Run Code Online (Sandbox Code Playgroud)
当然你应该备份所有的数据库,因为你可能有不同版本的Chrome,或者我可能会不小心漏掉一个符号等。
由于 Chrome 以某种基于 UNIX Epoch 的奇怪格式存储其时间(但乘以 10^7 并转移到未来),因此无法使用返回日期的系统函数;改为使用最后一页打开的日期。
你可以用-1 days
你想要的任何间隔替换;您可以在SQLite 文档(简称:-N days
, -N months
)中了解允许的修饰符。
删除不需要的数据后,您可能希望发出vacuum;
进一步缩小数据库的命令。