RedHat 시스템에서 logrotate를 실행하고 있습니다. 매일 폴더의 모든 파일을 회전하도록 구성을 변경했습니다. 며칠 후 파일 목록에 다음이 표시되었습니다.
login.log-20170220
login.log-20170220-20170222
login.log-20170220-20170222-20170224
login.log-20170220-20170222-20170224-20170226
login.log-20170220-20170222-20170224-20170226-20170228
login.log-20170220-20170222-20170224-20170226-20170228-20170302
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304-20170306
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304-20170306-20170308
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304-20170306-20170308-20170310
login.log-20170220-20170222-20170224-20170226-20170228-20170302-20170304-20170306-20170308-20170310-20170312
login.log-20170228
login.log-20170228-20170302
login.log-20170228-20170302-20170304
login.log-20170228-20170302-20170304-20170306
login.log-20170228-20170302-20170304-20170306-20170308
login.log-20170228-20170302-20170304-20170306-20170308-20170310
login.log-20170228-20170302-20170304-20170306-20170308-20170310-20170312
login.log-20170306
login.log-20170306-20170308
login.log-20170306-20170308-20170310
login.log-20170306-20170308-20170310-20170312
다른 시스템에도 동일한 설정이 있는데 이런 문제가 발생한 적이 없습니다... logrotate.d/의 구성은 다음과 같습니다.
/var/log/syslog-wal/* {
missingok
notifempty
create 0640 root wheel
daily
rotate 14
}
제가 매우 이상하게 생각하는 점은 8일마다 새로운 문서가 작성된다는 것입니다. 무슨 일이 일어났는지에 대한 단서가 있나요? 폴더는 /var/log 안에 있지만 다른 표준 logrotate.d 파일에는 이를 설명하는 내용이 없습니다.
답변1
이 패턴은 해당 로그의 모든 회전 /var/log/syslog-wal/*
과 일치할 뿐만 아니라 login.log
파일이 회전 기준을 충족하는 경우 모든 파일이 회전되고 이름에 날짜가 추가됨을 의미합니다.
다시 실행하면 각각그것들파일에는 날짜 등이 첨부됩니다.
따라서 해결책은 패턴을 지정 /var/log/syslog-wal/login.log
하거나 /var/log/syslog-wal/*.log
패턴을 지정하는 것입니다.