많은 로그 메시지를 생성하는 레거시 애플리케이션이 있습니다. 메시지를 잃거나 자르지 않고 매분마다 파일을 회전할 수 있기를 원합니다. 애플리케이션은 자체적으로 파일을 변경할 수 없으므로 외부에서 변경해야 합니다. 웹을 서핑하는 동안 이 기능을 사용하라는 제안을 많이 보았지만 cp
내 cat /dev/null
애플리케이션이 거의 연속적인 메시지 스트림을 생성하기 때문에 일부 메시지가 그 과정에서 손실되었습니다.
어떤 생각이 있나요?
답변1
로그 파일을 FIFO( man mkfifo
)로 만들고 입력을 제한된 크기의 파일로 분할하는 읽기 측 프로세스를 배치합니다.
mkfifo /path/to/logfifo.app_xy
split ... </path/to/logfifo.app_xy &
/bad/app
답변2
아마도logrotate
도구가 이를 처리할 수 있습니다.