The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Исправление timestamp в логах"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Исправление timestamp в логах"  +/
Сообщение от ill ates on 22-Фев-11, 22:09 
После неожиданной перезагрузки сервера (и как оказалось заломанной синхре по ntp), в логи стала писаться некорректная дата (2010й год,всё остальное тоже неправильное).
Но логи пишет не один сервер, поэтому часть записей идёт с правильным timestamp'ом.
Как оптимально можно исправить дату? Логов несколько гигабайт, представляют собой текстовый файл с разделителями (запятые), дата находится в 9м поле:

97,8343434,,1309:17.9,026543,17,,,20100521220506,2097841,0,,Z5,,751,,02,60,test,,ZZZ,FBDSB181,,,,,,,12,,143,,,213,,,,xx6:1|348,13.2,,,,,,,,,,,,

Я посчитал смещение в секундах для каждой записи, но дальше возникло 2 вопроса:
1) как пересчитать дату в текущем формате (+%Y%m%d%H%M%S).
Переводить каждый раз дату вида 20100521220506 в вид 2010-05-21 22:05:06 понимаемый date не очень оптимально и красиво  
2)не совсем представляю как воткнуть пересчёт даты в sed или awk - в sed не могу завязаться на номер поля, в awk очень изощренно выглядят вызовы внешних команд и внешних переменных.
В идеале это наверно выглядело бы как то так:
cat logfile | awk -F, '$9 ~ /2010/{$9=(date --date='123 seconds + $9' +%Y%m%d%H%M%S)$9}{print}' >> corrected_logfile

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Исправление timestamp в логах"  +/
Сообщение от sm00th1980 (ok) on 23-Фев-11, 17:00 
могу помочь со скриптом на python для корректировки даты.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Исправление timestamp в логах"  +/
Сообщение от ill ates on 23-Фев-11, 18:21 
> могу помочь со скриптом на python для корректировки даты.

Я питон совсем не знаю, но на войне все средства хороши, поэтому буду рад любой помощи.
ОС - SLES10, в стандартной поставке идёт python 2.4.2, если это имеет значение.
Обновлять ничего нельзя.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Исправление timestamp в логах"  +/
Сообщение от sm00th1980 (ok) on 23-Фев-11, 18:43 
>> могу помочь со скриптом на python для корректировки даты.
> Я питон совсем не знаю, но на войне все средства хороши, поэтому
> буду рад любой помощи.
> ОС - SLES10, в стандартной поставке идёт python 2.4.2, если это имеет
> значение.
> Обновлять ничего нельзя.

питон тем и хорош что синтаксис минималистический - если писали на бейсике или паскале в школе-институте - то питон ещё даже проще:)

нужно:
1) пример некорректного файла - строк - от 100 чтобы было
2) что должно быть в итоге
3) да и ещё как должен принимать название файла скрипт - через командную строку, через конфиг или прямо в коде скрипта будет задаваться файл
4) файл всегда будет 1 или это будет набор файлов в директории или по маске?

т.е. например в поле номер 9 есть строка 20101201 - нужно преобразовать в 2010-12-01.
лучше выслать на почту sm00th1980@mail.ru

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Исправление timestamp в логах"  +/
Сообщение от ill ates on 23-Фев-11, 19:45 
> лучше выслать на почту sm00th1980@mail.ru

заслал

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру