найти ключевое слово, следя за журналом, а затем сделать X - PullRequest
3 голосов
/ 24 октября 2011

Могу ли я иметь скрипт, работающий в среде Linux, который привязывает файл журнала, а затем, как только он видит определенное ключевое слово (скажем, «EndAPP»), он запускает другой скрипт?Если так, то как?

Ответы [ 2 ]

5 голосов
/ 24 октября 2011

Вы можете использовать Файл :: Хвост

use File::Tail;

my $file=File::Tail->new("/some/log/file");
while (defined(my $line = $file->read)) {
    system("/path/to/second/script") if($line =~ /EndApp/) ;
}
3 голосов
/ 24 октября 2011

Вы можете использовать этот код ...

#!/bin/bash

FILE_TO_TAIL=/file/to/tail
PATTERN="EndAPP"
APP_TO_EXEC="app.bin"


tail -1f ${FILE_TO_TAIL} |
while read -r line
do
    if [ ${PATTERN}=${line} ]; then
        ./${APP_TO_EXEC}
    fi
done
exit
...