내 /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.