powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Чтение новых записей из большого файла
11 сообщений из 11, страница 1 из 1
Чтение новых записей из большого файла
    #39153340
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Есть задача: раз в день парсить тяжеленный лог и вытаскивать оттуда данные "за сегодня", обрабатывать условиями, и вносить в базу. Как грамотно организовать чтение не открывая весь файл. У меня только один способ в голове: перед чтением файла брать дату из последней строки, записывать ее в отдельный файл, а в следующей раз начинать чтение с этой даты. Однако я не уверен, хороший ли это способ, вдруг есть что-то проще и эффективнее. Подскажите достойное решение, пожалуйста!
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153342
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10,

Я такое когда-то делал через размер файла. Хранил отдельно его размер, и при каждом чтении читал с этого места, а потом обновлял хранимое число.
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153345
Фотография bga83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10,

а ротацию лога настроить не вариант вообще?
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153350
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bga83а ротацию лога настроить не вариант вообще?В моем случае периоды чтения и ротации не совпадали. Читать надо было часто, раз в несколько минут, а ротация была раз в сутки.
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153436
Мутаген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вариант с сохранением последней позиции в файле (в байтах) и потом fseek на неё - вполне годный. Но, для лог-файлов надо проверять, что его не отротировали, иначе записи будут пропускаться при чтении из нового файла. Для проверки можно использовать номер inode, если он изменился, то читать файл с начала.
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153446
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сесть на пайп и читать лог вообще не давая ему записаться в файл - не вариант?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153581
andrey10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovА сесть на пайп и читать лог вообще не давая ему записаться в файл - не вариант?..

Действительно, через watch будет лучше всего (если вы его имели в виду). Направляю нужные строки в другой файл и всё, да и еще данные в реальном времени можно отображать в интерфейсе.

Всем спасибо.
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153586
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10Действительно, через watch будет лучше всего (если вы его имели в виду).

Вообще-то я имел в виду mkfifo и иже с ним типа такого:
http://superuser.com/questions/366511/io-redirection-with-mkpipe-for-logging-purposes

Всё, что левая программа пишет в псевдофайл, сразу поступает в программу, которая из него
читает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153588
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Например так:
Код: sql
1.
2.
3.
rm file.log
mkfifo file.log
cat file.log | tee -a real.log | your_app


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39153710
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey10. Как грамотно организовать чтение не открывая весь файл. У

Открыть половину файла невозможно. Либо весь, либо ничего.
...
Рейтинг: 0 / 0
Чтение новых записей из большого файла
    #39154948
Мутаген
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С pipe возможна засада: если программа зависнет и перестанет читать из него (или будет читать медленно), то и приложение-источник остановится.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Чтение новых записей из большого файла
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]