Ответы пользователя по тегу Linux
  • Как выдернуть переменную из лог строки syslog-ng?

    shabelski89
    @shabelski89
    engineer
    Почему-то мне кажется что искать надо в строну rsyslog)
    Не очень понял как наполняется исходный файл syslog-ng.
    Но для разового парсинга можно сделать такую конструкцию
    #!/bin/bash
    while read domain; do echo "$domain" | mkdir ~/var/log/`grep -Po '(?<=nginx:\s).+(\.\D\S{1,3})'` 2>/dev/null; done < syslog
    while read string; do echo "$string" | echo "$string" >> ~/var/log/`grep -Po '(?<=nginx:\s).+(\.\D\S{1,3})'`/nginx_ac.log  ; done < syslog

    Построчно читает файл syslog(заменить на нужный), выдирает регуляркой домен создает для него папку и кладет в него строчку соответствующую этому домену.
    Для себя не решил как быть, с тем что исходный файл syslog видимо постоянно обновляется, как сделать так что читать с места новой записи, может удалять строчку после чтения...
    Жду что меня закидают палками.
    Ответ написан