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

проблема с журналами ошибок apache

У меня есть сервер vps, но провайдер остановил управляемую службу. У меня проблема с файлом журнала. Кажется, все в порядке, но через несколько месяцев автоматическое удаление журналов не работает. Каждую минуту файл журналов увеличивается на 10 МБ, все мое пространство vps заполняется из-за этой проблемы. Я проверяю файл logrotaion в папке etc.

Конфигурации файла logrotation следующие:

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

Я хочу немедленно удалить журналы. так что, пожалуйста, помогите кому-нибудь

В rotate Директива указывает количество предыдущих версий журнала, которые необходимо сохранить перед их удалением.

Для CentOS значение по умолчанию обычно указывается в главном /etc/logrotate.conf файл как

rotate 4

Таким образом, он будет хранить 4 версии (обычно на 4 недели). Со страницы руководства

повернуть счет
Перед удалением или отправкой по адресу, указанному в почтовой директиве, файлы журналов меняются количество раз. Если count равно 0, старые версии удаляются, а не меняются.

Вы можете переопределить значение по умолчанию для каждого журнала, опять же, на страницах руководства

logrotate читает все о файлах журнала, которые он должен обрабатывать, из серии файлов конфигурации, указанных в командной строке. Каждый файл конфигурации может устанавливать глобальные параметры (локальные определения имеют приоритет перед глобальными, а более поздние определения имеют приоритет перед более ранними) и указывать файлы журналов для ротации.

Документация по директиве include содержит дополнительную информацию о том, как обрабатываются файлы конфигурации.

Все, что вам действительно нужно сделать, это добавить rotate 0 к определению журнала httpd

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

Вероятно, вы не хотите использовать copytruncate в своем определении, либо скрипт postrotate позаботится об открытии / закрытии файлов.