2017-01-08 5 views
0

달의 31 일 동안 어떻게 구성 할 수 있습니까? 현재 나는 30 일 동안 할 수 있습니다.달의 31 일 또는 feb의 28/29 일에 대한 로테 로테이션 구성 방법

/var/log/myLogs/* { 
    daily 
    missingok 
    rotate 30 
    olddir /prar/oney_logs/tomcat_m_logs/archive 
    compress 
    copytruncate 
    postrotate 
      ls /prar/oney_logs/tomcat_m_logs/GC_web_*.log |grep -v `date --date 'today' +%y%m%d`| xargs rm -f 
                  find /prar/oney_logs/tomcat_m_logs/archive/GC_web_*.log* -mtime +30 -exec rm {} \; 
    endscript 
} 

답변

0

logrotate로 그리 쉽지 않습니다. 한 달에 허용되는 최대 일 수를 유지하려면 rotate 31을 설정할 수 있습니다. 그런 다음 monthly cron 작업을 추가하여 한 달에 파일을 보관하십시오. 보관할 로그의 수를 31로 설정하면 적어도 한 달 이상의 파일을 확보 할 수 있습니다. 한 달에 31 일이 적은 경우 지난 달 남은 일별 로그가 1 일 이상 남아 있습니다.

그렇지 않으면 다음을 수행 할 수 있습니다. a) 31 일 이내에 maonths의 파일 이름을 바꾸거나 이동하기 위해 후위 스크립트로 처리합니다. b) 매월 logrotate config 파일을 변경하는 crontab 스크립트를 만듭니다. c) 매월 설정 파일을 만들고 여기에 설명 된대로 crontab에 12 개의 항목을 설정합니다. Logrotate - daily log files for a month; d) logrotate보다 다른 유틸리티/프로그램을 사용하십시오.

+0

gile 지원에 감사드립니다 !!! 그것은 일했다 :) – user190549