Проблема журнала и скрипт bash

Проблема журнала и скрипт bash

У меня 11 серверов Debian, работающих на облачном хостинге rackspace. Все они работают под управлением VHCS2 для управления хостингом. 1 сервер используется для приложений, а 10 используются только для smtp. Мой вопрос касается серверов smtp. На каждом сервере размещен 1 домен. Моя проблема в том, что когда мой клиент использует smtp, в этом каталоге создается журнал

/var/log/

но в течение 24 часов диски заполняются, и сервер отклоняет все smtp-подключения. Затем я удалил логи и выполнил следующую команду, чтобы проверить дисковое пространство.

df -h

но он показывает, что hdd все еще заполнен, а сервер все еще отклоняет smtp-соединения. Затем я запустил следующую команду, чтобы увидеть правду

du --max-depth=1 -h

Он показывает правду. Реальное используемое дисковое пространство. Затем я перезагрузил сервер, и теперь сервер работает нормально. Но через несколько часов ситуация повторилась. Затем я создал следующий скрипт.

#!/bin/sh

rm -fr /var/log/*
rm -fr /var/log/apache2/*.log
rm -fr /var/log/apache2/*.log.*
rm -fr /var/log/apache2/users/*
rm -fr /var/log/apache2/backup/*

reboot

Это работало несколько дней, но после этого логи снова заполняют жесткий диск.

Теперь мне нужны следующие решения. Если кто-то может мне помочь.

  1. Когда я удаляю файлы с сервера, жесткий диск освобождается без перезагрузки
  2. Журнал должен быть в определенном диапазоне. Например, определенный размер файла, где старые данные перезаписываются новыми данными.

решение1

  1. Удаление только файлов журнала не поможет. Вам нужно сказать демону закрыть файл журнала, обычно отправляя ему SIGHUP.
  2. logrotateдолжен обрабатывать журналы и может использовать различные критерии для определения того, когда журнал следует ротировать.
  3. Ваши журналы заполняютсяужасныйбыстро. Либо выясните, что заполняет ваши журналы, отправьте журналы на другую машину для обработки и хранения, либо смонтируйте отдельный том в /var/log, чтобы он был единственным затронутым томом.

решение2

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

Регистрируется ли слишком много информации? Уменьшите уровень ведения журнала приложения.
Регистрируется ли много ошибок? Изучите и исправьте.
...

Получив контроль над журналами, вы сможете использовать их logrotateдля управления ими.

Связанный контент