메시지가 점점 커지고 공간이 부족해 압축하려고 합니다. 나는 모든 것을 시도했습니다 -메시지 압축- 압축된 메시지이지만 실제 내용과 다릅니다.
glob finding old rotated logs failed
내 logrotate는 링크의 것과 유사합니다.
# cat logrotate-message; logrotate -d logrotate-message -f;ls -lrth /var/log/messages*
daily
rotate 7
create
dateext
dateformat .%Y%m%d
compress
notifempty
nomail
noolddir
/var/log/messages {
rotate 5
daily
postrotate
/bin/killall -HUP syslogd
endscript
}
reading config file logrotate-message
Allocating hash table for state file, size 15360 B
Handling 1 logs
rotating pattern: /var/log/messages forced from command line (5 rotations)
empty log files are not rotated, old logs are removed
considering log /var/log/messages
log needs rotating
rotating log /var/log/messages, log->rotateCount is 5
Converted ' .%Y%m%d' -> '.%Y%m%d'
dateext suffix '.20191024'
glob pattern '.[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed
renaming /var/log/messages to /var/log/messages.20191024
creating new /var/log/messages mode = 0600 uid = 0 gid = 0
running postrotate script
running script with arg /var/log/messages: "
/bin/killall -HUP syslogd
"
compressing log with: /bin/gzip
-rw------- 1 root root 1016K Sep 29 03:13 /var/log/messages-20190929
-rw------- 1 root root 1020K Oct 6 03:34 /var/log/messages-20191006
-rw------- 1 root root 2.2G Oct 23 11:31 /var/log/messages.20191023
-rw------- 1 root root 735M Oct 24 15:41 /var/log/messages
어떤 도움이라도 대단히 감사하겠습니다.
답변1
알겠습니다. logrotate
로그 파일이 누락되어 실패했습니다. 그러나 를 사용하면 logrotate -d
자세한 디버그 출력이 표시됩니다 logrotate does not do anything
. 이걸 먼저 하면
logrotate -v logrotate-message -f
대신, 자세한 출력과 결합된 강제 옵션은 이전 로그 파일이 발견되지 않는 것과 관련된 오류를 방지하기 위해 누락된 로그 파일을 생성하는 -f
플래그의 동작을 표시합니다 .man logrotate
-
처음 두 파일 이름에 a가 있어야 하는 위치가 있고 .
이로 인해 패턴 정규식이 실패하기 때문에 4개의 로그 아카이브를 찾을 수 없습니다. 수동으로 수정하거나 logrotate -f
생성하기 전에 삭제해 보세요.
또한 messages
특정 구성 파일의 형식화에 약간의 문제가 있습니다. 개별 스크립트가 포함된 대괄호 위에 구성 옵션을 추가할 이유가 없으며 messages
(읽는 방법에 따라 전역 구성 옵션이 재정의될 수 있으므로) 및 compress
기타 플래그를 내부로 이동해야 합니다.