The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
tail -f  на STDIN перлового скрипта., !*! bingo2, 18-Апр-07, 21:26  [смотреть все]
привет.
есть программа, которая как не странно пишет лог :)
есть перловый скрипт, который его парсит.

задача:
получать последние строки из лога по
ssh login@server "tail -f"  и передавать на STDIN перловому скрипту.

что посоветуете? через простой пайп не работает, sleep очень не хочется ставить.
пока поставил перенаправление в файл, а уже оттуда беру, но это не вариант =(

  • tail -f  на STDIN перлового скрипта., !*! bill, 21:59 , 18-Апр-07 (1)
    >привет.
    >есть программа, которая как не странно пишет лог :)
    >есть перловый скрипт, который его парсит.
    >
    >задача:
    >получать последние строки из лога по
    >ssh login@server "tail -f"  и передавать на STDIN перловому скрипту.
    >
    >что посоветуете? через простой пайп не работает, sleep очень не хочется ставить.
    >
    >пока поставил перенаправление в файл, а уже оттуда беру, но это не
    >вариант =(


    open (TAIL,"ssh login\@server tail -f |");
    while (<TAIL>) {
    ...

    или так?
    while(<>) {
    ...

    ssh login@server tail -f | ./prog.pl

    • tail -f  на STDIN перлового скрипта., !*! bingo2, 12:13 , 19-Апр-07 (2)
      >>привет.
      >>есть программа, которая как не странно пишет лог :)
      >>есть перловый скрипт, который его парсит.
      >>
      >>задача:
      >>получать последние строки из лога по
      >>ssh login@server "tail -f"  и передавать на STDIN перловому скрипту.
      >>
      >>что посоветуете? через простой пайп не работает, sleep очень не хочется ставить.
      >>
      >>пока поставил перенаправление в файл, а уже оттуда беру, но это не
      >>вариант =(
      >
      >
      >open (TAIL,"ssh login\@server tail -f |");
      >while (<TAIL>) {
      >...
      >
      >или так?
      >while(<>) {
      >...
      >
      >ssh login@server tail -f | ./prog.pl

      не работает не так, не так =(
      win/cygwin

  • tail -f  на STDIN перлового скрипта., !*! chip, 16:07 , 19-Апр-07 (3)
    >привет.
    >есть программа, которая как не странно пишет лог :)
    >есть перловый скрипт, который его парсит.
    >
    >задача:
    >получать последние строки из лога по
    >ssh login@server "tail -f"  и передавать на STDIN перловому скрипту.
    >
    >что посоветуете? через простой пайп не работает, sleep очень не хочется ставить.
    >
    >пока поставил перенаправление в файл, а уже оттуда беру, но это не
    >вариант =(

    use File::Tail;
    http://search.cpan.org/~mgrabnar/File-Tail-0.99.3/Tail.pm

    • tail -f  на STDIN перлового скрипта., !*! bingo2, 12:11 , 20-Апр-07 (4)
      >>привет.
      >>есть программа, которая как не странно пишет лог :)
      >>есть перловый скрипт, который его парсит.
      >>
      >>задача:
      >>получать последние строки из лога по
      >>ssh login@server "tail -f"  и передавать на STDIN перловому скрипту.
      >>
      >>что посоветуете? через простой пайп не работает, sleep очень не хочется ставить.
      >>
      >>пока поставил перенаправление в файл, а уже оттуда беру, но это не
      >>вариант =(
      >
      >use File::Tail;
      >http://search.cpan.org/~mgrabnar/File-Tail-0.99.3/Tail.pm

      спасибо. буду знать...

      попытался разобраться с модулем - но с оптимальными параметрами проблемы (задал все интрервалы=0|1 - всё равно задержки вывода порядка 10 секунд)...

      нашёл решение на одном форуме

      use IO::File;
      use strict;
      my $tail = new IO::File;
      $tail->open("<operations.log");
      while(1){
        my @lines=$tail->getlines();
        if(0==scalar(@lines)){
          sleep 1;
        }else{
          my $line;
          foreach $line(@lines){
            chomp $line;
            print "$line\n";
          }
        }
      }




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру