logrotate w / apache2 log файлы

1059
rforte

У меня есть настройки 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 для этого?

0

1 ответ на вопрос

1
Paul

Эта строка:

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

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

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

/var/log/apache2/access.log 

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

Единственная проблема с этим заключается в том, что я добавляю отметку времени / даты к имени файла в строке CustomLog. Таким образом, я предполагаю изменение строки CustomLog для использования доступа..log было бы лучше, чтобы я мог использовать /access.*.log rforte 12 лет назад 0
Ааа, да я вижу Да, вам нужно как-то исключить файлы .gz. Изменение положения метки времени в имени файла будет самым простым способом. Paul 12 лет назад 0
пометить этот ответ более или менее правильно, так как обновление имени файла делает свое дело. rforte 12 лет назад 0

Похожие вопросы