Назад | Перейти на главную страницу

Отключить ротацию журналов для apache или переместить расположение файла

Мне нужно изменить время хранения журнала для apache, в настоящее время, похоже, он работает по умолчанию из logrotate.conf, который еженедельно. Он создает "access_log.1", "access_log.2" и так далее для каждой недели. Проблема в том, что он удаляет последний файл журнала каждую неделю, 'access_log.5', мне нужно, чтобы журналы продолжались бесконечно, а не последний журнал удалялся каждую неделю. Кажется, он работает со значением по умолчанию из logrotate.conf - я не хочу изменять значения по умолчанию, хранящиеся в этом файле, поэтому я предполагаю, что есть способ изменить срок хранения с помощью /etc/logrotate.d/httpd файл?

содержание следующее:

/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

что я могу добавить / изменить, чтобы последний журнал не удалялся каждую неделю?

Вам нужно будет добавить rotate {value} возможность указать logrotate, сколько копий сохранить. Ниже будет храниться 52 копии.

/var/log/httpd/*log {
    missingok
    rotate 52
    notifempty
    sharedscripts
    postrotate
    /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

На этот вопрос найти ответ на удивление сложно. В итоге я нашел это неясное сообщение на форуме 2003 года. Похоже, решение состоит в том, что вы просто отключите cronjob для logrotate при котором по умолчанию может быть на /etc/cron.daily/logrotate. Это отключает ротацию журналов повсюду на машине, чего я и хотел. Если вы хотите сделать это только для определенного приложения, я думаю, вам, возможно, удастся создать пустой файл конфигурации в /etc/logrotate.d/apache2. Если вы просто удалите этот файл конфигурации, я думаю, он по умолчанию вернется к глобальному по адресу /etc/logrotate.conf и по-прежнему вращаются.