







|
MySQL.RU - Webboard
Вернуться
Обработка логов -> отчеты за день,месяц,год (Vasiliy) 28/05/2010 - 18:18:15
From: Vasiliy - 28/05/2010 - 18:18:15
Subject:Обработка логов -> отчеты за день,месяц,год
-----------------
Здравствуйте!
Есть следующая задачка:
Имею файл с логами печати (за 2года, а то и больше) на основе которого нужно каждый день получать отчеты за год, месяц, день и т.д.
Что сделано:
В планировщик на каждый день зашит такой скрипт.
Т.к. писать логи сразу в БД система не может я скачиваю файл с логами. Затем Perl скриптом разбираю его на поля и заношу в базу MySQL-5.5.2 время разбиваю на два поля Data 0000-00-00 и Time 00:00:00 т.е привожу к понятному виду MySQL. Каждую строчку лога сравниваю с датой последней записи в БД, для того, чтобы добавить в базу только новые события и не дублировать старые. После этого быстрый SELECT и отчет за предыдущий день с группировкой по одному из полей (например 'Printer' или 'User') готов. Я просто сохраняю его в файл, чтобы иметь доступ даже если MySQL мёртв.
Вопрос:
А что если у меня еще нет отчетов и я хочу их сформировать первый раз за все периоды (т.е. за 2 года, за 24месяца т.к.2года, за сколько то там недель и дней)? В MySQL возможно это сделать селектами или нужно будет в перле высчитывать диапазоны, а потом их подставлять в селекты и делать цикл?
Пишу подробно, чтобы если мой подход в принципе не верен, то меня могли остановить заранее.
Заранее спасибо!
P.S. Я не волшебник, только учусь.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
37149
|
|