2016년 11월 25일 금요일

logrotate가 안될 때...

오랜만에 서버 점검을 하니 messages 로그가 비정상으로 크다.

무려 1.8G!
-rw-------. 1 root root 1915638280 2016-11-25 09:01 messages

 

접근 시도가 많은 것으로 알고 failer들 차단하고 나섰는 데, 뭔가 이상하다.

로그 파일이 messages밖에 없다. 기본적으로 rotate가 돌아서 messages.1이나

messages-날짜, 이런 형식으로 있어야 되는 데, 없다.

 

rotate가 안되고 있다!!.
 
아래 명령어로 확인. -d 옵션이 debug 모드.
/usr/sbin/logrotate -d /etc/logrotate.conf

출력 내용중 아래와 같이 이상점 발견
considering log /var/log/messages
log needs rotating

로테이트가 필요없다고!? 2G에 육박하고 있는 데 무슨 소리야.

 

logrotate는 /var/lib/logrotate.status 파일의 내용을 참조하여 rotate를 한다.

해당 파일을 살펴보니 내용이 없다.
#비정상(문제서버)
[root@localhost log]# cat /var/lib/logrotate.status
logrotate state -- version 2

#정상(비교대상 서버)
[root@localhost log]# cat /var/lib/logrotate.status
logrotate state -- version 2
"/var/log/yum.log" 2016-1-1
"/var/log/cups/error_log" 2016-10-9
"/var/named/data/named.run" 2016-11-20
"/var/log/sssd/*.log" 2015-1-6
"/var/log/dracut.log" 2016-1-1
"/var/log/wtmp" 2015-1-6
"/var/log/spooler" 2016-11-20
"/var/log/btmp" 2016-11-1
"/var/log/xferlog" 2016-11-20
"/var/log/maillog" 2016-11-20
"/var/log/cups/*_log" 2015-1-6
"/var/log/secure" 2016-11-20
"/var/log/messages" 2016-11-20
"/var/account/pacct" 2015-1-6
"/var/log/cron" 2016-11-20
"/var/log/vsftpd.log" 2015-1-7

 

열심히 검색 했으나, 원인은 찾을 수가 없다.

 

해결법은 아래 명령어로 rotate를 강제 적용 하는 것이다.
/usr/sbin/logrotate -f /etc/logrotate.conf

위와 같이 하면 /var/lib/logrotate.status 내용이 정상 서버와 같이 만들어지고,
아래와 같이 로테이트 된다. 기존 파일을 분할하는 건 아니다.
-rw------- 1 root root 148 2016-11-25 09:58 messages
-rw-------. 1 root root 1915641841 2016-11-25 09:58 messages-20161125

댓글 없음:

댓글 쓰기