logrotate가있는 파일 삭제


13

실제로 회전하지 않고 logrotate를 사용하여 디렉토리에서 로그 파일을 삭제할 수 있습니까? app.log.DD_MM_YYYY 형식으로 로그를 생성하는 앱이 있습니다. 다음 구성을 갖는 logrotate에 실패했습니다.

/opt/log/app/app.log.* {
         rotate 0
         missingok
         nomail
}

로그 회전 이이 작업을 수행 할 수 있습니까 아니면 스크립트를 작성하여 cron 내에 배치해야합니까?

최고, -Iulian


해당 로그가 필요하지 않은 경우 앱에서 로깅 기능을 비활성화하지 않는 이유는 무엇입니까?
— Deeh

1
미안하지만 답변으로 간주 할 수 없습니다 Deeh. 호기심을 유발하기 위해 디버깅과 같은 다른 작업에 대한 로그가 필요합니다. 그냥 로그를 썩지 않기를 원합니다.
— Iulian

답변:


16

이 경우 postrotate를 사용할 수 있습니다. 아래 예에서 postrotate는 로그가 회전 된 후 1 일이 지난 파일을 삭제하므로 필요에 맞게 수정하십시오.

/opt/log/app/app.log.* {
        missingok
        nomail
postrotate
        /usr/bin/find /opt/log/app/ -name "app.log.*" -type f -mtime +0 -exec rm {} \;
endscript
}

4

logrotate의 목적은 사용자 지정 시간 간격으로 사용자 지정 로그 파일 수를 유지하는 것입니다. 나는 당신의 작업에 cron을 사용할 것입니다. logrotate로 할 수있는 작업에 대한 자세한 내용은 다음을 참조 하십시오. http://www.jamescoyle.net/cheat-sheets/676-logrotate-cheat-sheet


2
링크 썩음을 방지하기 위해 링크 전용 답변을 게시하지 마십시오. 대신 링크에서 답변에 가장 관련성 높은 정보를 추가하거나 링크 대신 답변 대신 주석으로 링크를 게시하십시오. 자세한 내용은 이 도움말 센터를 참조하십시오.
— Sven
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.