Ротация логов веб сервера Apache
Самый первый скрипт ротации логов был очень примитивным и непрактичным.
Началось все с того что в один прекрасный день в директории /var закончилось место и сервер начал сбоить. В процессе выяснения кто скушал все свободное место виновником оказались логи веб сервера Apache. На один из виртуальных хостов в течении недели была сильная атака спам-ботов что призвело до ужасно быстрого разростания обьема access_log.
Руководствуясь первой примитивной потребностью хоть как-то защитить веб сервер от подобных инцидентов я написал скриптик который 1 раз в неделю обнулял лог файлы по виртуальным хостам.
Как Вы сами понимаете это очень примитивно и неправильно. Отсутсвовала полноценная ротация логов, а вместо него простое очищение файла в определенное время. Уже тогда я прекрасно понимал что это не выход их ситуации.
И вот только сейчас я вернулся к данной проблеме и теперь имею новый скрипт ротации логов веб сервера Apache. На этот раз скрипт запускается как и прежде по крону 1 раз в неделю, но уже не просто удаляет безвозвратно логи, а архивирует их и сохраняет в специально заданный каталог. К тому же появилась удобная возможность конфигурировать пути расположения для каждого вирутального хоста в отдельности.
Из недостатков и наработок на будущее:
- по прежнему нету полного понятия ротации логов. Файлы складываются срезами в период 1 неделя до бесконечности. В следующих версиях нужно реализовать полную ротацию с возможностью указания периода хранения старых лог файлов
- было бы удобно если бы настройки читались с SQL базы
января 21, 2010 at 9:21 пп
…
Хм …
января 23, 2010 at 7:03 дп
…
Хм …
января 31, 2010 at 12:19 дп
…
Хм …