URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 10416
[ Назад ]

Исходное сообщение
"IP parsing"

Отправлено tukanen , 16-Апр-22 21:18 
Как можно парсить лог "isc-dhcp-server  /var/log/dhcpd.log ip addresses только последние 2 месяца или же ip addresses что не использовались больше 3 месяцев.(dhcpd.leases)
Спасибо за помощь.


Содержание

Сообщения в этом обсуждении
"IP parsing"
Отправлено Skif , 17-Апр-22 19:41 
> Как можно парсить лог "isc-dhcp-server  /var/log/dhcpd.log ip addresses только последние
> 2 месяца или же ip addresses что не использовались больше 3
> месяцев.(dhcpd.leases)
> Спасибо за помощь.

если вам приходится работать с логами такой давности, то стоит подумать о внешнем хранении логов. Например, таких как loki, elk, etc

А если предметно по вопросу, то grep/egrep  с регекспами вам в помощь

Пример для выборки  логов за 02,03,04 часа

egrep "0(2|3|4):..:.." logs/out.log*

Аналогично можно проделать и для месяцев, дней и т.д.


"IP parsing"
Отправлено tukanen , 18-Апр-22 12:01 
egrep "0(2|3|4) [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+" /var/log/dhcpd.log
Прошу прощения... как из совместить. не пойму. Я бы прокосультировался.можно сомной сзяаться "tukanen@gmx.com"
Спасибо.

"IP parsing"
Отправлено Аноним , 18-Апр-22 16:11 
> egrep "0(2|3|4) [0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+" /var/log/dhcpd.log
>  Прошу прощения... как из совместить. не пойму. Я бы прокосультировался.можно сомной
> сзяаться "tukanen@gmx.com"
> Спасибо.

как-то так
grep -o "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}" dhcpd.leases

или эдак
grep -o "\([0-9]\+\.\)\{3\}[0-9]\+" dhcpd.leases


"IP parsing"
Отправлено tukanen , 18-Апр-22 16:45 
0(2|3|4) < Думал как из заставить работать вмете > grep -o "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}" dhcpd.log.
что бы вывести за последний 24 часа. Вот как то у меня не получается.

"IP parsing"
Отправлено Аноним , 19-Апр-22 09:25 
> 0(2|3|4) < Думал как из заставить работать вмете > grep -o "\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}"
> dhcpd.log.
> что бы вывести за последний 24 часа. Вот как то у меня
> не получается.

можно/нужно awk/sed
одним grep врядли

grep -B1 "starts.* 02:" dhcpd.leases | grep -o "\([0-9]\+\.\)\{3\}[0-9]\+"

вместо 02 подставить 03 04 и т.д. (время)


"IP parsing"
Отправлено tukanen , 19-Апр-22 10:16 
Спасибо Большое. Обьснил.