LINUX.ORG.RU
ФорумAdmin

Скопировать заданный кусочек лог-файла?


0

1

Я произвожу наблюдение за общением SIP сервера по сети при помощи tcpdump. Одновременно сам сервер записывает свой лог в файл opensips.log.

Можно ли как-то, одновременно с tcpdump запустить какую-то программку, которая бы захватывала новые строчки из лог файла и клала бы их в отдельный файл? А по завершении tcpdump, одновременно бы с этим прекращала это делать?

Сейчас я запускаю захват вот таким скриптом:


#!/bin/bash
FNAME=«dump`date +%Y%m%d%H%M%S`.cap»
echo «Grabbing SIP traffic into $FNAME...»
/usr/sbin/tcpdump -s 0 -w $FNAME port 5060 or 5061


Можно ли сделать как-то так


#!/bin/bash
FNAME=«dump`date +%Y%m%d%H%M%S`»
echo «Grabbing SIP traffic into $FNAME...»
/usr/sbin/tcpdump -s 0 -w $FNAME.cap port 5060 or 5061 & tail -n 1 -F /var/log/opensips.log > $FNAME.log

У меня вроде как работает, но правильно ли это?

Если «да», то можно ли ещё одновременно с записью лога в файл, пустить его и на экран?

Можно было бы так:

/usr/sbin/tcpdump -s 0 -w $FNAME.cap port 5060 or 5061 & tail -n 1 -F /var/log/opensips.log > $FNAME.log & tail -n 1 -F /var/log/opensips.log

Но нельзя ли как-то одновременно одной подкомандой tail перенаправить?

А tee для этого не подойдет?

tee - read from standard input and write to standard output and files

VitalkaDrug ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.