logrotate : connf에 언급된 크기 2000M은 여전히 ​​2000M보다 큰 로그 크기입니다.

logrotate : connf에 언급된 크기 2000M은 여전히 ​​2000M보다 큰 로그 크기입니다.

내 /etc/logrotate.conf:

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# use date as a suffix of the rotated file
dateext

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}

/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

# system-specific logs may be also be configured here.

내 로그를 교체해야 합니다 /etc/logrotate.d/apc_rtbinfo.conf

/mnt/log/frengo/apc_rtbinfo.log {
daily
missingok
notifempty
size 2000M
compress
delaycompress
sharedscripts
copytruncate
rotate 3
}

logrotate의 출력:

 logrotate -v /etc/logrotate.d/apc_rtbinfo.conf
reading config file /etc/logrotate.d/apc_rtbinfo.conf
reading config info for /mnt/log/frengo/apc_rtbinfo.log

Handling 1 logs

rotating pattern: /mnt/log/frengo/apc_rtbinfo.log  2097152000 bytes (3 rotations)
empty log files are not rotated, old logs are removed
considering log /mnt/log/frengo/apc_rtbinfo.log
  log does not need rotating

내 순환 로그 크기:

# du -sh /mnt/log/frengo/apc_rtbinfo.log*
0       /mnt/log/frengo/apc_rtbinfo.log
4.7G    /mnt/log/frengo/apc_rtbinfo.log.1
80M     /mnt/log/frengo/apc_rtbinfo.log.2
0       /mnt/log/frengo/apc_rtbinfo.log-20151222
679M    /mnt/log/frengo/apc_rtbinfo.log-20151225.gz
681M    /mnt/log/frengo/apc_rtbinfo.log-20151226.gz
691M    /mnt/log/frengo/apc_rtbinfo.log-20151227.gz
0       /mnt/log/frengo/apc_rtbinfo.log-20151228
70M     /mnt/log/frengo/apc_rtbinfo.log.2.gz
80M     /mnt/log/frengo/apc_rtbinfo.log.3
80M     /mnt/log/frengo/apc_rtbinfo.log.4

로그 회전 출력에는 "로그를 회전할 필요가 없습니다"가 표시되지만 "크기 2000M"을 언급했습니다. 즉, 로그 파일이 2000M보다 커지면 로그 파일이 회전되며 왜 "/mnt/log/frengo/apc_rtbinfo.log. 1인치는 4.7GB입니다.

답변1

현재 로그 파일 크기( /mnt/log/frengo/apc_rtbinfo.log)는 0입니다. 따라서 회전이 필요하지 않습니다.

이전 로그 파일의 경우 logrotate파일을 지속적으로 모니터링하지 않고 주기적으로(매일, iirc) 실행합니다. 실행 사이에 로그 파일이 매우 커지면 다음 실행까지 이를 알 수 없습니다.

공간이 부족한 경우 gzip대용량 파일에서 실행하세요.

gzip /mnt/log/frengo/apc_rtbinfo.log

더 작은 압축 파일로 대체됩니다.

size및 조건을 모두 사용했습니다 daily. 그러나 size시간 기반 조건은 상호 배타적입니다. 다음 조건을 사용해야 합니다 maxsize.

maxsize size
      Log files are rotated when they grow bigger than size bytes even
      before the additionally specified time interval (daily,  weekly,
      monthly,  or yearly).  The related size option is similar except
      that it is mutually exclusive with the  time  interval  options,
      and  it  causes  log  files to be rotated without regard for the
      last rotation time.  When maxsize is used,  both  the  size  and
      timestamp of a log file are considered.

관련 정보