Вывод потока последовательных данных в текстовые файлы с разбивкой по отметке времени - PullRequest
0 голосов
/ 01 мая 2020

Я использую grabserial для записи постоянного потока последовательных данных в файлы, и мне нужно разделить файлы по часам. Ранее я пытался использовать опцию grabserial split, но она имеет слишком большой дрейф и, следовательно, недостаточно точна для моего приложения, поскольку я буду потенциально регистрировать данные с частотой 50 Гц.

Выходные данные grabserial имеют временную метку и мне нужно, чтобы конечные выходные файлы были почасовыми, и крайне важно, чтобы между файлами не было разливов. Я думал о том, чтобы вывести один большой файл, а затем запускать скрипт каждый час, чтобы использовать sed / awk для разделения соответствующих строк на отдельные файлы, но я не уверен, что это лучший способ сделать это. Некоторые примеры строк просто для того, чтобы показать временную метку (пинг только для тестирования, поскольку это единственный постоянный поток последовательных данных, который я могу легко сгенерировать):

[2020-04-30 20:48:12.238364] 64 bytes from 1.1.1.1: icmp_seq=15490 ttl=58 time=12.658 ms
[2020-04-30 20:48:12.451309] 64 bytes from 1.1.1.1: icmp_seq=15491 ttl=58 time=13.312 ms
[2020-04-30 20:48:12.671389] 64 bytes from 1.1.1.1: icmp_seq=15492 ttl=58 time=21.628 ms
[2020-04-30 20:48:12.874498] 64 bytes from 1.1.1.1: icmp_seq=15493 ttl=58 time=12.804 ms
[2020-04-30 20:48:13.098526] 64 bytes from 1.1.1.1: icmp_seq=15494 ttl=58 time=29.722 ms
[2020-04-30 20:48:13.302614] 64 bytes from 1.1.1.1: icmp_seq=15495 ttl=58 time=22.104 ms
[2020-04-30 20:48:13.506729] 64 bytes from 1.1.1.1: icmp_seq=15496 ttl=58 time=13.994 ms
[2020-04-30 20:48:13.721045] 64 bytes from 1.1.1.1: icmp_seq=15497 ttl=58 time=16.141 ms
[2020-04-30 20:48:13.929236] 64 bytes from 1.1.1.1: icmp_seq=15498 ttl=58 time=12.351 ms
[2020-04-30 20:48:14.137103] 64 bytes from 1.1.1.1: icmp_seq=15499 ttl=58 time=13.145 ms

Моя текущая идея - использовать sed для соответствия YYYY-MM-DD HH и затем добавьте все эти строки в новый файл с соответствующей отметкой времени в качестве имени файла.

Замечания:
ведение журнала будет выполняться постоянно 24/7
необходимо срочно сгенерировать почасовые файлы насколько это возможно после окончания часа
должен быть чрезвычайно надежным

Спасибо за любые предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...