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.