понедельник, 18 декабря 2017 г.

Конвертируем время в лог-фале из формата TAI64N в человеко-читаемый вил

В логах qmail время пишется в формате TAI64N, что иногда доставляет неудобств.
Решается перенаправлением лога через pipe в исправляющий это через pipe в perl-код.
Выглядит как-то так:
tail -F /var/log/qmail/*/current | perl -MPOSIX=strftime -npe 's{\@4 (\w{15}) (\w{8}) }{strftime( "%Y-%m-%d %H:%M:%S.".sprintf("%09s",hex($2)),localtime hex($1) )}ex'