Как работает связка tail grep tee ????
ld73 11 июля, 2011 - 12:41
Всем доброго!
Вопрос к профи, выполняю следующую команду
tail -f /var/log/messages | grep 'FORMERR resolving' | tee -a /var/log/expolit_hack.log
результат создается файл но пустой, никакие события в нем не фиксируется после фильтра, в чем может быть прикол?
Заранее всем спасибо!
»
- Для комментирования войдите или зарегистрируйтесь
Может, grep ничего не нашел ?
Может, grep ничего не нашел ? Да и вместо tee можно было бы просто:
Все мы, рано или поздно, будем там...
tee в данном случае для того,
tee в данном случае для того, чтоб данные не только в лог-файл попадали, но и отображались на экране
Надо внимательно читать
Надо внимательно читать мануал по tail. Если на момент вызова tail -f не было изменений в файле, то stdout от tail будет пуст. Далее grep конечно же ничего не находит, ну и вслед за ним tee ничего не выведет. однако результирующий файл создаст, как того и затребовал автор.
Автор - вы хотите что-ли, чтобы из лога в ваше exploit_hack.log ложились в реалтайме только определенные вами сообщения по фильтру? Так все современные логгеры умеют по регулярному выражению отфильтровывать сообщения из лога и раскладывать их куда вам надо. Изобретаете велик в очередной раз, причем трехколесный детский
Пользуясь моментом, хочу передать привет друзьям, которые также пользуются "Моментом"
команда tee просто копирует
команда tee просто копирует все, что поступает не ее стандартный ввод, на стандартный вывод и в файлы, указанные в аргументах. То есть в вашем случае вывод пойдет одновременно на терминал и в файл /var/log/expolit_hack.log
tail -f /var/log/messages |
Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!
Много было сказано и нету ни
Много было сказано и нету ни одно предложения, того что мне нужно.
Оговорюсь я особо не силен в линухе, вот почему задаю тут вопрос, если у вас есть время на флуд, то может вы еще выделите его на конкретный пример???
На счет было или не было, конечно было фильтруемое событие, сама связка не была придумана мной, искал решение проблемы, нашел это, но проблему оно не решила, зато породило много пустого разговора.
И так господа, есть простое решение вопроса или нет, если есть можно пример?
Заранее всем спасибо!
Вас опция --line-buffered к
Вас опция --line-buffered к grep чем не устраивает?
В одном случае grep выполняет flush() по заполнении буфера, в другом - построчно. Если Вы посылаете SIGINT grep-у, последний завершает выполнение, не сбрасывая буфер.
Если ничего не было, то как могло что-то появиться? А если все-таки что-то было, то откуда тогда оно взялось? Нашу Вселенную породила Рекурсия!
backbone написал(а): Вас
Thx a lof of much!!!!
Прочитайте, что делают
Прочитайте, что делают команды tail, grep, tee, и что делают опции -f -а как только вы будете знать что делает каждая команда в отдельности и что дают | и >> вы сами за за минуту найдете в чем проблема.
ps команда тривиальная и рабочая. правильная ли она в ваших условиях - сказать не хватает данных.