나는 gnu-screen에서 내 프로그램을 실행하고 파일( log on
/ logfile
옵션의 .screenrc)에 대한 로깅을 활성화합니다. 그러나 시간이 지나면 로그 파일이 너무 커집니다.
로그 파일의 크기를 제한하는 방법이 있습니까?
답변1
로그 크기를 실시간으로 제어하려는 경우가 아니면 logrotate
with 를 사용하여 cron
이를 수행 할 수 있습니다.
screenlog.log
디렉터리 내에서 회전 한다고 가정하면 /home/username/
다음과 유사한 구성 파일을 생성합니다.
screenlog-rotate.conf
:
/home/username/screenlog.log {
size 100k
}
logrotate /home/username/screenlog-rotate.conf
그런 다음 정기적으로 실행되는 크론 작업으로 실행하거나 설정하세요. logrotate
기본적으로 루트로 실행해야 하며 구성 파일( 위) 도 루트로 편집 screenlog-rotate.conf
해야 한다는 점을 기억하세요 . 그렇지 않으면 구성된 권한이 잘못되었다는 메시지가 표시됩니다. 플래그 를 chown
실행하여 귀하를 이해하는지 테스트하십시오 .logrotate
-v
위의 구성 파일은 매우 간단합니다.이전 로그 파일은 유지되지 않습니다.. 파일이 주어진 크기를 초과하면 파일을 삭제하지만 화면에는 여전히 평소대로 로그가 출력됩니다(테스트했습니다). 오래된 로그를 보존하려면 보존할 순환 로그 수를 추가해야 합니다 rotate N
.N
man 8 logrotate
구성 방법에 대한 자세한 내용을 참조하세요 logrotate
. 관련 질문은 다음과 같습니다.사용방법 >> 로그 파일 크기 제한
logrotate
Arch Linux에는 기본적으로 포함되어 있는 것 같은데, 다른 배포판에서도 그런 것인지는 잘 모르겠습니다. 나는 데비안이 적어도 기본적으로 이를 설치할 것이라고 예상하며, 패키지 관리자를 사용하여 설치하기 쉬울 것입니다.