использование PHP для отображения вывода из сценария Perl - PullRequest
1 голос
/ 27 июля 2010

Я новичок в PHP, и у меня есть работающий Perl-скрипт, который в основном входит в систему на удаленных серверах, отслеживает файл журнала и отображает определенную информацию файла журнала в STDOUT.

Я хочу сделать это теперь доступным для просмотра в виде веб-страницы, следовательно, обращаясь к PHP, чтобы отобразить этот вывод.Я просто хочу просмотреть тот же вывод, что и сейчас на терминале.Тогда цель будет заключаться в улучшении форматирования / представления этих данных.

Кроме того, любые идеи / примеры о наилучшем подходе к форматированию вывода с помощью PHP будут отличными.Спасибо !!

Вот скрипт perl: (выполняется путем передачи некоторых аргументов)

Usage: ./statsinfo.pl Jul 26 2010 /var/log/server.log server1

my($mon,$day,$year,$file,$server) = @ARGV;
my $regex_flag = 0;                 
splice(@ARGV, 0, 4, ());            
foreach my $server ( @ARGV ) {     
    print "===================================================================================\n";
    print "REPORTING SUMMARY for BACKUP SERVER : $server\n"; 
    open(my $fh,"ssh $server cat $file |") or die "can't open log $server:$file: $!\n";
    while (my $line = <$fh>) {
        if ($line =~ m/.* $mon $day \d{2}:\d{2}:\d{2} $year:.*(ERROR:|backup-date=|backup-size=|backup-time=|backup-status)/) {
            print $line;
            $regex_flag=1; 
        }
    } #end while loop
        if ($regex_flag==0) { 
           print "NOTHING TO REPORT FOR $server: $mon $day $year \n";
        }
    $regex_flag=0; 
    close($fh);
}

Ответы [ 2 ]

3 голосов
/ 27 июля 2010

use: exec ("your command (execute perl script)", $ output);

Данные, записываемые в stdout, должны быть в переменной $ output.Помните, что http-сервер будет ожидать выполнения этой команды до тех пор, пока ваш сценарий не будет завершен, поэтому следует помнить об ожидании от ввода с клавиатуры и т. Д.

2 голосов
/ 28 июля 2010

Просто чтобы показать результат, здесь нет реальной необходимости в PHP.Перенаправьте вывод Perl в файл, который веб-сервер может обслуживать статически, и обращайтесь к нему через браузер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...