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

Ошибка журнала и сценарий bash

У меня 11 серверов Debian, работающих на облачном хостинге в стойке. На всех запущен 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. Само по себе удаление файлов журнала не поможет. Вам нужно указать демону закрыть файл журнала, обычно отправив ему SIGHUP.
  2. logrotate должен обрабатывать журналы, и он может использовать различные критерии, чтобы определить, когда журнал должен быть повернут.
  3. Ваши журналы заполняются ужасно быстро. Либо выясните, что наводняет ваши журналы, отправьте журналы на другой компьютер для обработки и хранения, либо смонтируйте отдельный том в / var / log, чтобы затронуть только этот том.

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

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

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