특정 기간보다 오래된 항목을 삭제하도록 로그를 구성하는 방법

특정 기간보다 오래된 항목을 삭제하도록 로그를 구성하는 방법

~에서문서구성할 수 있다는 것을 알고 있습니다.

  1. 일기 이후의 시간문서삭제로 MaxRetentionSec.
  2. 일기 이후의 시간문서회전하여 MaxFileSec.

그러나 내 목표는 모든 로그 항목이 1년에 걸쳐 하나의 파일에 저장되도록 로그를 구성하는 것입니다. 장로기입폐기되어야 합니다.

내 현재 해결 방법은

  • MaxRetentionSec=1year
  • MaxFileSec=1month

그러나 여기에는 두 가지 주요 단점이 있습니다.

  1. 로그는 매달 교체되므로 이전 항목에 액세스하는 것은 번거롭습니다.
  2. 1년이 만료될 때마다 Journald는 하루가 아닌 한 달 전체를 삭제합니다.

Target에 설명된 대로 작동하도록 로그를 구성할 수 있습니까?

답변1

askubuntu stackexchange에서 다음과 같은 훌륭한 답변을 찾았습니다.https://askubuntu.com/a/1012913/36168

요약하자면, 저자는 사용 사례에 따라 매일 정기적으로 실행되도록 cronjob을 설정할 것을 권장합니다.

$ journalctl --vacuum-time=1y

인용하다:

답변2

그러나 내 목표는 모든 로그 항목이 1년에 걸쳐 하나의 파일에 저장되도록 로그를 구성하는 것입니다.

즉, 파일은 1년 후에 회전되고 마지막 항목 이후 1년이 지나면 삭제됩니다.

당신이 원하는 것을 할 방법이 없습니다. 해야 할 syslog일은 logrotate여러 파일로 회전하고 가장 오래된 파일을 삭제하는 것입니다. 한 달치의 로그 로드 공간을 낭비하고 싶지 않다면 더 자주 교체할 수 있습니다.

로그는 매달 교체되므로 이전 항목에 액세스하는 것은 번거롭습니다.

어떻게에 대한? 이 journalctl유틸리티는 사용 가능한 모든 로그 파일을 원활하게 읽습니다.

관련 정보