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

файлы состояния logrotate очень большие

Apache2 в системе Ubuntu 16.04 показывал проблемы на веб-сайтах, на которых он размещен. Он был загружен на 100%. Глядя дальше с du, Большая часть жесткого диска размером ~ 100 ГБ была заполнена двумя файлами в /var/lib/logrotate/.

logrotate там есть файлы, которые называются /var/lib/logrotate/status и /var/lib/logrotate/status.clean и занимая много места ... 30 ГБ и 60 ГБ.

Я знаю что logrotate используется для регулярной очистки файлов журнала, но кажется, что по умолчанию он не очищает собственные файлы журнала. Я решил проблему с дисковым пространством, удалив там два файла rm -rf /var/lib/logrotate/*.

(/var/lib/logrotate/status повторно заполнен новыми журналами от процессов ротации в течение дня)

Будет ли это продолжаться, если logrotate не будет вращать собственные журналы?

Удаление или поворот logrotate.status файл только пластырь. Вам нужно сделать шаг назад и задать вопрос: «почему logrotate.status файл такой большой? "

я буду tail -n 500 этот файл состояния и посмотрите, какие файлы там перечислены. Я думаю, что существует большая вероятность того, что ваш файл (ы) конфигурации logrotate вращает вещи, которые вы никогда не собирались вращать.

Вы можете настроить задание cron для регулярной очистки или поворота / усечения файла logrotate.status. Я бы рекомендовал еженедельный, если объем вашего сервера умеренный, ежедневный, если очень большой трафик.

Чтобы настроить еженедельное задание cron, которое сбрасывает файл logrotate.status:

  1. открыть cron crontab -e
  2. добавить запись * * * * 1 echo > /var/lib/logrotate.status

Чтобы настроить ротацию файла каждую неделю: Создайте скрипт (убедитесь, что он исполняется пользователем cron) и еженедельно запускайте cron для вызова it.

Пример сценария:

#!/bin/bash
/bin/mv /var/lib/logrotate.status.3 /var/lib/logrotate.status.4
/bin/mv /var/lib/logrotate.status.2 /var/lib/logrotate.status.3
/bin/mv /var/lib/logrotate.status.1 /var/lib/logrotate.status.2
/bin/mv /var/lib/logrotate.status /var/lib/logrotate.status.1

Чтобы установить права доступа к файлу скрипта:

chmod u+x [script-filename]

Формат задачи Cron:

* * * * 1 /full/path/to/your/script