강제 실행 후 my_app.log
대신 my_app.log.1
(이전에 보관해야하는 이전 로그)에 계속 기록합니다.logrotate를 실행 한 후 ".log"파일 대신 ".log.1"파일에 쓰기
이렇게하면 logrotate
이 아무런 영향없이 실행되기 때문에 my_app.log
이 빈 파일이됩니다. my_app.log.1
은 계속해서 기가 바이트로 증가합니다.
저는 Ubuntu 12.04를 실행하고 있습니다. 내 앱은 pm2을 사용하는 Node.js 앱입니다. 나는 내가 거기 notifempty
를 넣어 알고
"/var/log/my_app/*.log" {
daily
size 50M
rotate 10
missingok
compress
delaycompress
notifempty
}
, 그런데 왜 my_app.log.1
는 처음에 기록됩니다 : 다음은 내 logrotate에 구성입니다?
응용 프로그램이 실행되는 동안 로그 파일을 열어두면 변경되는 파일 이름의 영향을받지 않습니다. 파일에 계속해서 씁니다. 'logrotate'는 파일 이름을 변경 한 후 응용 프로그램을 다시 시작하도록 (또는 응용 프로그램이 응답 할 경우'HUP '신호를 보내도록) postrotate 스크립트에서 구성 할 수 있습니다. 설명서에 예제가 있습니다. – axiac