2015-05-11 4 views
2

У меня есть файл журнала catalina.out, который подкреплялся каждую ночь и создавал новый файл catalina.out.Команда Grep, файл усечен

Я хочу tail -f этот файл. У меня есть Баш скрипт так:

#!/bin/bash 

while true do tail -f catalina.out | grep --line-buffered "pattern" | xargs -i echo $(date) {} >> output.txt done 

я запускаю этот скрипт, используя screen команды. Но он отлично работает в первый день. Когда файл заменяется, он не работает и ничего не выводится в течение следующих дней. В консоли отображается «Файл усечен». Кто-нибудь может помочь в решении этой проблемы?

ответ

3

Журнал, в котором вы работаете, вращается. Используйте флаг -F в хвост, чтобы заставить его следовать за новым файлом после поворота.

+0

Я изменил скрипт с опцией '-F'. Но на следующий день каротаж был остановлен. Не помогло. Любое другое мнение? – Humayun

+0

Новое имя файла для хвоста по-прежнему 'catalina.out' право? Флаг '-F' будет следовать за именем файла, поэтому, если это изменилось по какой-либо причине,' -F' не сработает. –

+0

Ahh. теперь это работает. – Humayun

Смежные вопросы