2016-12-15 4 views
0

У меня есть этот конфиг для Nginx LogRotateNginx Logrotate не почистил журналы

/var/log/nginx/*.log { 
     daily 
     missingok 
     rotate 3 
     compress 
     delaycompress 
     notifempty 
     create 0640 www-data adm 
     sharedscripts 
     prerotate 
       if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ 
         run-parts /etc/logrotate.d/httpd-prerotate; \ 
       fi \ 
     endscript 
     postrotate 
       invoke-rc.d nginx rotate >/dev/null 2>&1 
     endscript 
} 

В идеале, он должен сжать файл в ГЗ, а затем удалить предыдущие файлы через 3 дня, но вот мои файлы журнала

-rw-r--r-- 1 www-data www-data 1.4G Dec 10 00:00 2016-12-09-access.log.1 
-rw-r----- 1 www-data adm   0 Dec 11 06:33 2016-12-10-access.log 
-rw-r--r-- 1 www-data www-data 1.5G Dec 11 00:00 2016-12-10-access.log.1 
-rw-r----- 1 www-data adm   0 Dec 12 06:30 2016-12-11-access.log 
-rw-r--r-- 1 www-data www-data 1.6G Dec 12 00:00 2016-12-11-access.log.1 
-rw-r----- 1 www-data adm   0 Dec 13 06:46 2016-12-12-access.log 
-rw-r--r-- 1 www-data www-data 1.4G Dec 13 00:00 2016-12-12-access.log.1 
-rw-r----- 1 www-data adm   0 Dec 14 06:25 2016-12-13-access.log 
-rw-r--r-- 1 www-data www-data 1.4G Dec 14 00:00 2016-12-13-access.log.1 
-rw-r----- 1 www-data adm   0 Dec 15 06:50 2016-12-14-access.log 
-rw-r--r-- 1 www-data www-data 1.5G Dec 15 00:00 2016-12-14-access.log.1 
-rw-r--r-- 1 www-data www-data 362M Dec 15 07:59 2016-12-15-access.log 
-rw-r----- 1 www-data adm   0 Dec 15 06:50 ---access.log 
-rw-r----- 1 www-data adm  254 Dec 15 04:53 ---access.log.1 
-rw-r----- 1 www-data adm  202 Oct 25 03:58 ---access.log.10.gz 
-rw-r----- 1 www-data adm  578 Oct 24 02:30 ---access.log.11.gz 
-rw-r----- 1 www-data adm  1.3K Oct 23 06:11 ---access.log.12.gz 
-rw-r----- 1 www-data adm  980 Oct 22 05:39 ---access.log.13.gz 
-rw-r----- 1 www-data adm  648 Oct 21 05:59 ---access.log.14.gz 
-rw-r----- 1 www-data adm  1006 Oct 20 05:45 ---access.log.15.gz 
-rw-r----- 1 www-data adm  150 Dec 13 23:03 ---access.log.2.gz 
-rw-r----- 1 www-data adm  89 Dec 13 05:46 ---access.log.3.gz 
-rw-r----- 1 www-data adm  421 Dec 12 06:23 ---access.log.4.gz 
-rw-r----- 1 www-data adm  277 Nov 8 17:16 ---access.log.5.gz 
-rw-r----- 1 www-data adm  174 Nov 7 05:52 ---access.log.6.gz 
-rw-r----- 1 www-data adm  104 Nov 5 18:42 ---access.log.7.gz 
-rw-r----- 1 www-data adm  111 Nov 4 23:43 ---access.log.8.gz 
-rw-r----- 1 www-data adm  220 Oct 25 19:36 ---access.log.9.gz 

И Logrotate статус

"/var/log/nginx/2016-12-01-access.log" 2016-12-2 
"/var/log/nginx/2016-11-21-access.log" 2016-11-22 
"/var/log/nginx/2016-09-16-access.log" 2016-9-17 
"/var/log/mail.err" 2016-2-10 
"/var/log/nginx/2016-10-06-access.log" 2016-10-7 
"/var/log/nginx/2016-09-14-access.log" 2016-9-15 
"/var/log/nginx/2016-11-02-access.log" 2016-11-3 
"/var/log/nginx/2016-10-04-access.log" 2016-10-5 
"/var/log/nginx/2016-10-22-access.log" 2016-10-23 
"/var/log/nginx/2016-09-30-access.log" 2016-10-1 
"/var/log/landscape/package-reporter.log" 2016-12-15 
"/var/log/nginx/2016-10-20-access.log" 2016-10-21 

Который не дает слишком много информации относительно последних дней Rota Как можно отладить конфигурацию?

ответ

0

Вы можете отладить конкретный сценарий с параметром -df:

logrotate -df /etc/logrotate.d/nginx 

и выполнить его немедленно (если нужно):

logrotate -f /etc/logrotate.d/nginx 

После любого обновления конфигурации рестарт LogRotate демона:

/usr/sbin/logrotate /etc/logrotate.conf 

Также прочитано о delaycompress вариант конфигурации в man:

Отсрочка сжатия предыдущего файла журнала на следующий вращения цикла. Это имеет эффект только при использовании в сочетании с компрессией. Это может использоваться, когда некоторая программа не может сказать закрыть свой файл журнала и , таким образом, может продолжить запись в предыдущий файл журнала в течение некоторого времени.

+0

пробежал -df, go http://chopapp.com/#7og0bsf. Он не рассматривает файлы access.log.1 для удаления. – Hemc

+0

Нет доступа.log.1 в вашем листинге. Debug работает правильно, я не вижу никаких проблем. Попробуйте директиву 'dateext' с вашей конфигурацией logrotate и удалите префикс даты из имен файлов журналов (например, 2016-12-09-). –

+0

Я имею в виду не рассматривать date-access.log.1 файлы для удаления, как вы, shaw in te logs – Hemc

Смежные вопросы