апачская проблема журналов ошибок

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

logrotation конфигурации файла следующим образом:

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

я хочу удалить журналы сразу. поэтому помогите кому-то

0
задан 3 July 2014 в 11:53
1 ответ

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

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

rotate 4

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

вращайте счетчик
. Лог-файлы поворачиваются по времени перед тем, как быть удаленными или отправленными по адресу, указанному в почтовой директиве. Если счетчик равен 0, то старые версии удаляются, а не поворачиваются.

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

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, либо постротатный скрипт позаботится об открытии/закрытии файлов.

.
2
ответ дан 4 December 2019 в 13:58

Теги

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