Como posso remover o histórico antigo do Google Chrome?

19

Estou trabalhando em um laptop com um disco rígido modesto, e 500 MB são ocupados pelos arquivos "Índice de histórico" e "Miniaturas" do Google Chrome. Alguns desses arquivos têm um ano de idade. O Chrome oferece a opção de remover o histórico recente , mas quero o contrário: desejo remover o histórico antigo . (O ideal seria remover as informações de histórico menos usadas recentemente, mas não espero poder fazer isso.)

Alguém tem alguma ideia? Estou executando o pacote Debian google-chrome-beta padrão.

    
por Norman Ramsey 01.12.2010 / 03:47

3 respostas

13

Vergonhoso para o Google, ainda existe de jeito nenhum .

Além disso, todos os bancos de dados do Chrome são apenas arquivos sqlite3, e você pode usar o sqlite3 para limpar entradas desnecessárias. Primeiro, instale o sqlite3 client ( sudo apt-get install sqlite3 ) e, em seguida, vá para a configuração do Chrome (deve ser .config/chrome/Default ).

Aqui está um snippet de SQL que elimina URLs antigas do histórico (funciona nos bancos de dados History , Archived History ):

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

Aqui está outro que provavelmente funcionará no banco de dados 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);

Isso provavelmente funcionará em 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;

É claro que você deve fazer o backup de todos os bancos de dados, porque você pode ter diferentes versões do Chrome, ou eu acidentalmente perder um símbolo, etc.

Como o Chrome armazena seus tempos em algum formato estranho baseado na Epoch do UNIX (mas multiplicado por 10 ^ 7 e deslocado para o futuro), as funções do sistema que retornam a data não podem ser usadas; a data da última abertura da página é usada em seu lugar.

Você pode substituir -1 days por qualquer intervalo desejado; você pode ler sobre os modificadores permitidos na documentação do SQLite (em breve: -N days , -N months ).

Depois de remover os dados desnecessários, talvez você queira emitir o comando vacuum; , o que reduz ainda mais o banco de dados.

    
por 01.12.2010 / 07:05
3

(Isso não é uma resposta, mas estou deixando isso como um aviso).

Eu vi duas extensões que afirmam fazer isso de alguma forma, mas nenhuma delas funciona.

No entanto, essas (e espero outras extensões) só chamam chrome.history.deleteRange - se tiver sorte, com parâmetros razoáveis. Segundo a documentação:

Removes all items within the specified date range from the history. Pages will not be removed from the history unless all visits fall within the range.

E, na prática, não vejo nenhum efeito, além de (eu acho) páginas que não aparecem na página do histórico. Em particular, o arquivo do banco de dados do histórico ainda é grande, e o Chrome ainda faz muito IO. Então eu suspeito (da observação casual de muito com o Chromium 9 beta r68937) que chrome.history.deleteRange afeta apenas o que é visível na página chrome://history e não o que está armazenado no disco e afeta coisas como a conclusão da barra de URL.

    
por 02.12.2010 / 04:00
0

Todas essas respostas foram úteis, mas desatualizadas. Eu encontrei e usei o plugin "History Limiter Custom" e ele funciona perfeitamente.

O History Limiter Custom é uma versão mais recente do "History Limiter", que tem melhor desempenho e é praticamente livre de bugs.

link

    
por 13.08.2018 / 21:06