The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Исправление timestamp в логах, !*! ill ates, 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

  • Исправление timestamp в логах, !*! sm00th1980, 17:00 , 23-Фев-11 (1)
    могу помочь со скриптом на python для корректировки даты.
    • Исправление timestamp в логах, !*! ill ates, 18:21 , 23-Фев-11 (2)
      > могу помочь со скриптом на python для корректировки даты.

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

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

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

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

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




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

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