의 맨 페이지는 다음과 logrotate
같이 말합니다.
It can be used when some program cannot be told to close its logfile
and thus might continue writing to the previous log file for some
time.
나는 이것으로 혼란스러워합니다. 프로그램이 로그 파일을 닫으라고 지시 할 수 없으면 언젠가가 아니라 영원히 계속 작성 됩니다 . 압축이 다음 회전 주기로 연기되면 프로그램은 다음 회전주기 후에도 해당 파일에 계속 기록합니다. 연기는 어떻게 문제를 해결합니까?
copytruncate
프로그램이 로그 파일을 닫으라고 지시 할 수 없을 때 사용해야한다는 것을 이해 합니다. 복사가 진행 중일 때 로그 파일에 기록 된 일부 데이터가 손실된다는 것을 알고 있습니다.
couchdb에 대한 logrotate 파일을보고 있었고 옵션 copytruncate
과 delaycompress
옵션 이 모두 있습니다.
/usr/local/couchdb-1.0.1/var/log/couchdb/*.log {
weekly
rotate 10
copytruncate
delaycompress
compress
notifempty
missingok
}
이미있을 delaycompress
때 사용하는 점이없는 것 같습니다 copytruncate
. 내가 무엇을 놓치고 있습니까?
copytruncate
프로그램에 로그 파일을 닫으라고 지시 할 필요가 없습니다. 따라서delaycompress
함께 지정하는 것은 의미 가copytruncate
없습니까?