Ротация логов или что то типа того - как разбивать лог файл
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Ротация логов или что то типа того - как разбивать лог файл - 2012-04-05 09:48:57.790000
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Явление это вроде называется - ротация логов. Как реализовать - не знаю. Ситуация очень простая: ведётся один лог файл нкой прогой. Нужно информацию из этого лога периодически заливать в БД MySQL средствами PHP-скрипта. Если PHP-скрипт каждые, скажем, 10 секунд будет перечитывать весь этот лог-файл - будет затрачено очень большое количество ресурсов. Нужно что бы этот лог, каким то неизвестным мне способом, периодически(хотелось бы 1 раз в 10 сек) разбивался на маленькие файлики, с которыми потом уже будет работать php-скрипт. Как зделать такое разбиение?
|
|
|
RE: Ротация логов или что то типа того - как разбивать лог файл - 2012-04-05 10:59:36.390000
|
|
|
The Joker
Сообщений: 3485
Оценки: 99
Присоединился: 2008-10-07 16:22:13.730000
|
Навскидку: задание chron-у через определённые промежутки времени менять имя лога (например, с name.log на name_date_time.log) и создавать пустой name.log.
|
|
|
RE: Ротация логов или что то типа того - как разбивать лог файл - 2012-04-05 14:24:41.983333
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Вообще идея заманчивая, но есть одно подозрение. На сколько я помню - при переименовании вручную командой mv происходило следующее - лог всё так же продолжал записываться в тот же файл, который уже назывался п другому. А вновь созданый net.log - такое его оригенальное имя - оставался быть пустым…
|
|
|
RE: Ротация логов или что то типа того - как разбивать лог файл - 2012-04-05 17:26:38.186666
|
|
|
surgutor
Сообщений: 627
Оценки: 0
Присоединился: 2008-05-29 11:42:15.623333
|
Раз в 10 секунд? Товарищ, это что у вас такое так капительно логируется? У меня даже абонентский трафик не так быстро ротируется, а каждын две минуты. По поводу вашего. Просто CRON-ом копируете текущий лог в log_name_date.log, а там уже ваше дело, как вы его будете парсить и впихивать в мускль. Я бы использовал бы Shell, проще и надежнее. А для парсинга использовал различные sed и awk.
|
|
|
RE: Ротация логов или что то типа того - как разбивать лог файл - 2012-04-05 20:06:44.166666
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Лог игрового сервера. Сыпится туда очень много всякого мусора, среди которого некоторое количество очень полезной информации. Там же вся история игрового чата. Чат буду выводить на веб-страничку и соответственно обновление информации по возможности быстрое. При копировании CRON-ом каждый новый файл типа log_name_date.log по размеру будет равен текущему оригинальному net.log, который за день до 50 мегабайт выростает. Если я каждые 10 сек буду парсить 50мб файл - боюсь всё рухнет. Задача как раз и заключается не в копировании и парсинге всего лога, а в разбиении, или вырезании всего содержимого при каждом чтении, что бы он не рос. Что бы каждый раз парсеру на обработку поступала только свежая информация, а не вся, накопившаяся со времени рестарта сервера.
|
|
|
RE: Ротация логов или что то типа того - как разбивать лог файл - 2012-04-06 15:32:03.783333
|
|
|
surgutor
Сообщений: 627
Оценки: 0
Присоединился: 2008-05-29 11:42:15.623333
|
quote:
ORIGINAL: mr_Anderson Лог игрового сервера. Сыпится туда очень много всякого мусора, среди которого некоторое количество очень полезной информации. Там же вся история игрового чата. Чат буду выводить на веб-страничку и соответственно обновление информации по возможности быстрое. При копировании CRON-ом каждый новый файл типа log_name_date.log по размеру будет равен текущему оригинальному net.log, который за день до 50 мегабайт выростает. Если я каждые 10 сек буду парсить 50мб файл - боюсь всё рухнет. Задача как раз и заключается не в копировании и парсинге всего лога, а в разбиении, или вырезании всего содержимого при каждом чтении, что бы он не рос. Что бы каждый раз парсеру на обработку поступала только свежая информация, а не вся, накопившаяся со времени рестарта сервера. 1) Я бы для начала попробовал бы порыться в настройках сервера, чтобы разбить логирование в несколько файлов. Потому что когда все сыпется в одну корзину - это шлак. А обрабатывать шлак весьма загруженно… Не говоря уже о ошибках. 2) Чат делается не так, тут ПХП тебе не помощник. Для чата нужен живой обработчик - джумла, например.
|
|
|
RE: Ротация логов или что то типа того - как разбивать лог файл - 2012-04-06 16:47:15.666666
|
|
|
mr_Anderson
Сообщений: 140
Оценки: 0
Присоединился: 2008-11-29 19:52:02.186666
|
Да я не то сказал - я не чат имел ввиду, а просто мёртвую историю чата вывести хочу.
|
|
|
|
|