У меня 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
- Удаление только файлов журнала не поможет. Вам нужно сказать демону закрыть файл журнала, обычно отправляя ему SIGHUP.
logrotate
должен обрабатывать журналы и может использовать различные критерии для определения того, когда журнал следует ротировать.- Ваши журналы заполняютсяужасныйбыстро. Либо выясните, что заполняет ваши журналы, отправьте журналы на другую машину для обработки и хранения, либо смонтируйте отдельный том в /var/log, чтобы он был единственным затронутым томом.
решение2
Вам действительно нужно разобраться, какие журналы заполняют диск. Как только вы узнаете, какие журналы являются проблемными, взгляните на них и выясните, почему они так быстро растут.
Регистрируется ли слишком много информации? Уменьшите уровень ведения журнала приложения.
Регистрируется ли много ошибок? Изучите и исправьте.
...
Получив контроль над журналами, вы сможете использовать их logrotate
для управления ими.