[server] 파일 크기가 제한을 초과 한 후 파일을 회전시키지 않는 로그 회전.

logrotate 맨 페이지에서.

해당 로그의 기준이 로그의 크기를 기준으로하지 않는 한 하루에 두 번 이상 로그를 수정하지 않습니다.

매뉴얼 페이지에 따르면 구성이 로그 크기를 기반으로하는 경우 logrotate는 파일을 회전해야합니다. 그러나 파일이 100k보다 크면 파일이 커지지 않습니다.

누군가 문제가 무엇인지 지적 할 수 있습니까?

내 구성

/home/jetech/work/lampstack-5.3.9-0/apache2/logs/access_log  {
    copytruncate
    compress
#    dateext
    rotate 365
    size 100k
    olddir /home/jetech/work/lampstack-5.3.9-0/apache2/old_logs
    notifempty
    nomail
    missingok
}



답변

파일이 회전하지 않는 것을 어떻게 알 수 있습니까?

내가 가지고있는 데비안 6 Linode에서 기본 구성 logrotatecron하루에 한 번만 실행되도록 예약되었으며 매우 이상한 시간에 예약되었습니다 . 하루에 한 번만 실행하는 경우 당연히 하루에 한 번만 구성을보고 비교를 수행하고 필요한 회전을 수행 할 수 있습니다.

실제로 실제로 로그 로테이션을 실행하고 있습니까? 당신 확인 할 수 있습니다 /etc/cron*/etc/cron*/*실행하도록 예약시기와 빈도를 logrotate에 볼 수 있습니다.

예를 들어 logrotatescript가에있는 경우 /etc/cron.daily로 이동 /etc/cron.hourly하거나 시간이 충분하지 않은 경우 /etc/cron.d/다음 내용 으로 파일을 작성하여 logrotate10 분마다 실행하십시오 .

*/10  *  *  *  *   root    /usr/sbin/logrotate /etc/logrotate.conf


답변

그래서 logrotate실제로이 같은 작품,

  • 구성에서 실행 빈도를 지정합니다 ( 매일 , 매시간 , 매월 )
  • 의 항목이 있습니다 /etc/cron.xxx에 대한 logrotate에이 실행할가.
  • crontab을 통해 logrotate 실행

매일 지정된 시간 (/ etc / crontab)으로 매일 을 언급 한 경우 crontab 프로세스는 회전을 위해 logrotate 프로세스를 실행 합니다. 따라서 프로세스가 실행되지 않으므로 파일 크기 제한이 작동하지 않습니다.


답변