1분마다 로그 파일을 자동으로 변경/회전하는 방법은 무엇입니까?

1분마다 로그 파일을 자동으로 변경/회전하는 방법은 무엇입니까?

많은 로그 메시지를 생성하는 레거시 애플리케이션이 있습니다. 메시지를 잃거나 자르지 않고 매분마다 파일을 회전할 수 있기를 원합니다. 애플리케이션은 자체적으로 파일을 변경할 수 없으므로 외부에서 변경해야 합니다. 웹을 서핑하는 동안 이 기능을 사용하라는 제안을 많이 보았지만 cpcat /dev/null애플리케이션이 거의 연속적인 메시지 스트림을 생성하기 때문에 일부 메시지가 그 과정에서 손실되었습니다.

어떤 생각이 있나요?

답변1

로그 파일을 FIFO( man mkfifo)로 만들고 입력을 제한된 크기의 파일로 분할하는 읽기 측 프로세스를 배치합니다.

mkfifo /path/to/logfifo.app_xy
split ... </path/to/logfifo.app_xy &
/bad/app

답변2

아마도logrotate도구가 이를 처리할 수 있습니다.

관련 정보