logrotate가 예상대로 파일을 압축하지 않습니다.

logrotate가 예상대로 파일을 압축하지 않습니다.

logrotate 구성을 사용하십시오. 아래에서는 프로그램이 첫 번째 백업 파일을 생성한 후 로그 파일 압축을 시작할 것으로 예상합니다. 대신에 내가 보는 것은 다음과 같습니다.

[root@host ~]# ll /var/log
total 1.2M
drwxr-xr-x 2 root root 4.0K Aug 31 13:29 ./
drwxrwxr-x 7 1000 1000 4.0K Aug 29 01:49 ../
-rw-r--r-- 1 root root  289 Aug 29 02:11 auth.log.1
-rw-r--r-- 1 root root  382 Aug 31 00:59 cron.log.1
-rw-r--r-- 1 root root  41K Aug 31 14:16 messages
-rw-r--r-- 1 root root 201K Aug 31 13:26 messages.0
-rw-r--r-- 1 root root 201K Aug 30 23:11 messages.0.1
-rw-r--r-- 1 root root  88K Aug 31 00:59 messages.1
-rw-r--r-- 1 root root  38K Aug 31 14:16 user.log
-rw-r--r-- 1 root root 201K Aug 31 13:29 user.log.0
-rw-r--r-- 1 root root 201K Aug 30 23:12 user.log.0.1
-rw-r--r-- 1 root root  89K Aug 31 01:02 user.log.1

[root@host ~]# cat /etc/logrotate.conf
compress

include /etc/logrotate.d

/var/log/* {
        rotate 7
        daily
    delaycompress
        missingok
        sharedscripts
        postrotate
                /usr/bin/killall -HUP syslogd
        endscript
}

대상 시스템은 BusyBox v1.20.2입니다.

어쩌면 문제는 명시적으로 이름을 지정하는 대신 /var/log 아래의 모든 로그를 회전하도록 지정했다는 것입니까? 나는 /var/log 아래의 모든 로그를 회전시켜 예상대로 작동하게 하는 것을 선호합니다.

답변1

문제는 /var/log/*너무 넓기 때문에 이전에 회전했던 파일을 맞춰서 다시 회전시킨다는 것입니다. 더 명시적인 목록이나 더 제한적인 와일드카드 패턴을 지정하거나 오래된 로그를 새 디렉터리로 이동하여 엉망이 되지 않도록 해야 합니다. 예를 들어,

/var/log/* { ... }

통과

/var/log/*.log /var/log/messages { ... }

관련 정보