У меня есть настройки Apache для создания новых файлов журнала каждый день:

CustomLog "|/usr/sbin/rotatelogs -f /var/log/apache2/access.log.%Y-%m-%d-%H_%M 86400" combined

Затем я пытаюсь использовать logrotate, чтобы сжать эти файлы:

/var/log/apache2/access.log.* {
    compress
    create 0644 root root
    daily
    delaycompress
    missingok
    maxage 7
}

Что происходит, что я получаю кучу файлов, которые выглядят так:

-rw-r--r-- 1 root root        20 2011-11-26 06:49 access.log.2011-11-21-00_00.1.1.3.gz
-rw-r--r-- 1 root root        33 2011-11-26 06:49 access.log.2011-11-21-00_00.2.gz.3.gz
-rw-r--r-- 1 root root        20 2011-11-26 06:49 access.log.2011-11-21-00_00.3.gz.3.gz
-rw-r--r-- 1 root root        20 2011-11-26 06:49 access.log.2011-11-22-00_00.1.1.3.gz
-rw-r--r-- 1 root root        33 2011-11-26 06:49 access.log.2011-11-22-00_00.2.gz.3.gz
-rw-r--r-- 1 root root        20 2011-11-26 06:49 access.log.2011-11-22-00_00.3.gz.3.gz
-rw-r--r-- 1 root root        20 2011-11-26 06:49 access.log.2011-11-23-00_00.1.3.gz
-rw-r--r-- 1 root root        33 2011-11-26 06:49 access.log.2011-11-23-00_00.2.gz.3.gz
-rw-r--r-- 1 root root  44590255 2011-11-25 18:59 access.log.2011-11-25-00_00.4.gz
-rw-r--r-- 1 root root        20 2011-11-25 06:42 access.log.2011-11-23-00_00.1.4.gz
-rw-r--r-- 1 root root        20 2011-11-25 06:42 access.log.2011-11-24-00_00.4.gz
-rw-r--r-- 1 root root        20 2011-11-25 06:42 access.log.2011-11-21-00_00.1.4.gz
-rw-r--r-- 1 root root        33 2011-11-25 06:42 access.log.2011-11-21-00_00.2.gz.4.gz
-rw-r--r-- 1 root root        20 2011-11-25 06:42 access.log.2011-11-22-00_00.1.4.gz
-rw-r--r-- 1 root root        33 2011-11-25 06:42 access.log.2011-11-22-00_00.2.gz.4.gz

Я хочу, чтобы каждый день создавался новый файл, а файл предыдущих дней - gzip'd. Как мне настроить мой logrotate для этого?

1 ответ1

1

Эта строка:

/var/log/apache2/access.log.* 

соответствует всем файлам в каталоге /var /log /apache2, поэтому включает все файлы gzip, уже существующие. В основном это сжатие уже сжатых файлов.

Измените это на

/var/log/apache2/access.log

чтобы убедиться, что он действует только на файл access.log. Кроме этого, настройки являются правильными.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .