답변:
Rory가 설명한대로 logrotate의 신호를 받아들이지 않는 응용 프로그램에는 몇 가지 방법을 사용합니다.
사용할 파일의 결정은 로그 파일의 크기와 연속 로그의 필요성에 따라 다릅니다. 그것은 당신 자신의 위험 분석이 될 것입니다. 그러나 예를 들어, 실제로는 copytruncate를 사용해야하는 특정 로그에서 회전 후 다시 시작을 사용합니다. 그러나 파일은 종종 몇 개의 공연이며 사본은 밤마다 1 초 또는 2 초를 잃는 것이 바람직 할만큼 시간이 오래 걸릴 수 있습니다.
다음을 원할 수도 있지만 주제에 대한 모든 사람의 전문 지식에 여전히 관심이 있습니다.
copytruncate
Truncate the original log file to zero size in place after cre‐
ating a copy, instead of moving the old log file and optionally
creating a new one.
logrotate는 프로세스에 올바른 신호를 보내서 로그 파일을 다시 열도록 지시합니다. 그것은 아파치 또는 mysql과 같은 것들을 위해 즉시 작동합니다.
아파치에 대한 postrotate 스크립트에서 이것을 볼 수 있습니다. 자체 데몬이 있고 logrotate와 함께 작동하려면 특정 신호를 수신하고 로그 파일을 다시 열어야합니다.
프로그램을 변경할 수 없다면 데몬에 자동으로 로그를 플러시 할 수있는 방법이 있는지 확인할 수 있습니다. 또는 서버를 중지시키는 사전 회전과 다시 시작하는 사후 회전을 추가하십시오.