cat /etc/logrotate.d/syslog
...
/var/log/messages {
daily
compress
dateext
dateformat "-%Y%m%d-%s"
maxage 90
rotate 90
missingok
notifempty
size +4096k
create 644 root root
sharedscripts
postrotate
/etc/init.d/syslog reload
endscript
}
...
SERVER:/var/log # /usr/sbin/logrotate /etc/logrotate.conf >/dev/null
error: syslog:21 unknown option 'dateformat' -- ignoring line
error: syslog:21 unexpected text
error: destination /var/log/messages-20141002.gz already exists, skipping rotation
SERVER:/var/log #
묻다:SLES10에서 회전된 파일 이름에 YYYYMMDD 형식을 가질 뿐만 아니라 시간, 분 또는 고유한 형식도 포함하도록 logrotate 구성 파일에서 dateformat 옵션을 설정하려면 어떻게 해야 합니까?
문제는 하루에 한 번 이상 회전해야 하기 때문에 "이미 존재"하기 때문에 이 날을 사용하면 작동하지 않는다는 것입니다.
고쳐 쓰다:
SERVER:~ # rpm -qa|grep -i ^logrotate
logrotate-3.7.3-13.17.1
SERVER:~ #
답변1
이 dateformat
옵션은 버전 3.7.7에서 도입되었으므로 업그레이드가 필요합니다. SLES 11용 리포지토리에서 3.7.7을 사용할 수 있다는 것은 알고 있지만 SLES 10에 대해서는 모르겠습니다.
(게다가 가능한 한 빨리 서버를 최신 버전의 SLES로 업그레이드하는 것이 좋습니다. 완전히 중단되지는 않지만 더 이상 서비스 팩이 없으며 수명이 점점 가까워지고 있습니다. 끝...)