PERL-скрипт

Аркадий19 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
03.04.2013

Добрый день, нужно сделать скрипт на v5.10.1 (не выше)

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

- выбирать строки с нужными значениями(не точное значение, а встречающееся, пример grep) которые можно задавать в переменной и игнорировать некие значения заданные в ручную

- скрипт после сканирования файла должен запоминать позицию и через минуту в след раз должен начинать чтение файла с этой позиции до конца и опять запоминать позицию и т.п. (позицию можно записывать в новый файл)

файлы больших размеров.

-если кол-во строк от указанного положения до конца файла превышает заданные параметры - прекратить выполнение(нельзя считывать все строки файла, файлы могут быть очень больших размеров и скрипт не уложится в минуту, может накладываться друг на друга)

- принудительное завершение скрипта если он через 59 сек не выполнился по какой то причине,в таком случае вывод в консоль значения 999

-вывод скрипта в консоль - кол-во строк от грепаных по условию (пример wc)

так же скрипт по завершению отправлять на почту по заданному smtp (localhost) 10 чаще всего употребляемых строк отгрепанных за эту минуту (пример команды | sort | uniq -c | sort -k 1 -nr | head -n 10), так же нужна возможность отключения функции отправки на почту, оставить только вывод в консоль ко-во строк.

раз в минуту скрипт запускается по крону, его в цикл ставить не нужно.

Скрипт должен быть чисто на перле без bash

примерный план скрипта

#!/sbin/perl

$строка выборки

$строка игнорирования

$строка игнорирования2

$переменная временного файла для запоминания строки

$переменная задающая максимальное кол-во строк для чтения

$максимальное время выполнения

$переменная задающая значение 999 если скрипт превысил интервал выполнения переменной $максимальное время выполнения

$email

$переменная включения, выключения отправки на почту отчета

{КОД}

P.S

предложения, пожелания, возможные баги будут вашим плюсом )