Мне нужно изменить время хранения журнала для 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
и по-прежнему вращаются.