괴짜 물건이에 대한 예가 있습니다 logrotate
. copytruncate
원본 로그 파일이 복사되고 잘립니다.
그럼 왜 우리는 그것을 사용합니까 create
? 원본 로그 파일은 삭제되지 않았습니다.
/tmp/output.log {
size 1k
copytruncate
create
compress
compresscmd /bin/bzip2
compressext .bz2
rotate 4
maxage 100
}
또 다른 질문은 그것이 무엇을 위해 사용됩니까 maxage 100
? 이 rotate 4
명령은 4주기 후에 오래된 로그 파일을 삭제합니다.
답변1
이는 아마도 이 튜토리얼의 한 예에서만 발견된 버그일 것입니다. 다른 모든 예에는 copytruncate
이 옵션이 없습니다 create
. 반품logrotate
매뉴얼 페이지지적실제로는 무시됩니다:
copytruncate
이전 로그 파일을 이동하고 새 로그 파일을 생성하도록 선택하는 대신 복사본을 생성한 후 원본 로그 파일을 0 크기로 자릅니다. 일부 프로그램에서 로그 파일을 닫으라고 지시할 수 없어 이전 로그 파일에 영원히 계속해서 쓸(추가) 수 있는 경우에 사용할 수 있습니다. 파일 복사와 자르기 사이의 시간 간격은 매우 짧으므로 일부 로깅 데이터가 손실될 수 있습니다. 이 옵션을 사용하면 이전 로그 파일이 그대로 유지되므로 만들기 옵션이 적용되지 않습니다.
예를 들어 maxage
여러 회전 기간(일/주/월) 동안 비어 있을 수 있는 로그 파일에 유용하다고 생각합니다. 이전 회전 파일을 사용하는 경우입니다notifempty
.