Chrome에서 오래된 기록을 제거하려면 어떻게해야하나요?


19

겸손한 하드 드라이브가 장착 된 랩톱에서 작업하고 있으며 500MB는 Chrome "History Index"및 "Thumbnails"파일을 사용합니다. 이 파일 중 일부는 1 년 전입니다. Chrome에서 제거 옵션을 제공합니다 최근 기록 하지만 그 반대의 경우가 있습니다. 오래된 기록 을 제거하고 싶습니다 . (최소한 최근에 사용 된 기록 정보를 제거 하겠지만, 그렇게 할 수는 없을 것으로 예상됩니다.)

누구든지 아이디어가 있습니까? 표준 데비안을 실행하고 있습니다google-chrome-beta 패키지를 .


Chrome은 이제 기록, 쿠키 및 기타 데이터를 지울 수 있도록 기본적으로 지원하므로이 질문은 더 이상 관련이 없습니다.
닌클

2
@nhinkle : Google 문서의 버전 번호 또는 페이지를 인용하십시오. 크롬은 한동안 "지원"을 받았지만 크롬 11 (현재 안정 버전)의 지원은 오래된 기록이 아닌 최근 기록 만 삭제할 수 있습니다.
Norman Ramsey

공정 해; 질문을 다시 열었습니다. 제대로 이해하지 못한 것에 대해 사과드립니다.
닌클

@NormanRamsey, Chrome 은 90 일이 지난 기록을 자동으로 제거합니다. 그게 당신이 원하는 것입니까?
Pacerier

답변:


13

구글에 수치심, 아직 방법없습니다 .

그 외에도 모든 Chrome 데이터베이스는 sqlite3 파일 일 뿐이며 sqlite3을 사용하여 불필요한 항목을 제거 할 수 있습니다. 먼저 sqlite3클라이언트를 설치하십시오 (sudo apt-get install sqlite3 )를 한 다음 Chrome 구성 (이어야 함 .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);

다음은 아마도 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
자세한 답변 주셔서 감사합니다. 데이터베이스 클래스에서 더 많은 관심을 기울여야한다는 것을 알고있었습니다.
Norman Ramsey

@whitequark, "미래로 이동했다"는 것은 무엇을 의미합니까?
Pacerier

3

(이것은 답이 아니지만 경고로 남겨두고 있습니다.)

나는 이것을 어떤 식 으로든 주장하는 두 가지 확장을 보았지만 어느 것도 작동하지 않습니다.

그러나 chrome.history.deleteRange운 좋으면 합리적인 매개 변수를 사용하여 이러한 전화 (및 다른 확장 프로그램을 기대) 만 호출 합니다. 설명서에 따르면 :

기록에서 지정된 날짜 범위 내의 모든 항목을 제거합니다. 모든 방문이 범위 내에 속하지 않으면 페이지가 기록에서 제거되지 않습니다.

그리고 실제로, 나는 역사 페이지에 나타나지 않는 페이지를 넘어서는 효과를 볼 수 없습니다. 특히 기록 데이터베이스 파일은 여전히 ​​크며 Chrome은 여전히 ​​많은 IO를 만듭니다. 따라서 ( Chromium 9 베타 r68937을 사용하여 매우 일상적으로 관찰 한 결과) 페이지에 chrome.history.deleteRange표시되는 내용에만 영향을 미치고 chrome://history디스크에 저장된 내용에는 영향을 미치지 않으며 URL 표시 줄 완성과 같은 항목에는 영향을 미칩니다.


둘 다 나쁜 소식입니다. 기록 제한 기는 지난 7 일을 제외한 모든 항목을 제거하므로 설치하는 순간 손실됩니다. 그리고 Click2Clear History는 스크린 샷의 "사용자 정의 기간"이 작동하지 않는 것 같습니다. 이러한 확장 기능, 특히 히스토리 리미터를 사용하지 마십시오. 그리고 그것은 망할 데이터도 제거하지 않습니다 !!!!
Norman Ramsey

마지막 줄 '무슨 데이터도 제거하지 않습니다'는 무엇을 의미합니까? 드라이브에서 큰 History Index 파일을 제거하고 싶습니다. 그렇게 하시겠습니까?
Neil

역사 제한은 노먼이 지적한 것처럼 행동하지 않도록 수정되었습니다. 또한 업데이트되고 개선 된 것으로 보이는 History limiter 포크가 있습니다 : chrome.google.com/webstore/detail/history-limiter-custom/…
bdombro

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.