Перейти до

Помогите с парсером логов!


Рекомендованные сообщения

Помогите пожалуйста с парсером логов по юзерам!

Просто кусочек кода на Perl, PHP.

Чтобы из лога выбирал и выводил в файл по строкам:

Время подключения

Время отключения

Передано байт

Принято байт

Время рабты

Ссылка на сообщение
Поделиться на других сайтах
<?php

$users_dir      = '/var/stargazer/users/';
$output_dir     = './';

$user           = $argv[1];
$log_file       = $users_dir.$user."/log";
$output_file    = $output_dir.$user.".log";

if(!isset($user)) die("Use: ".$argv[0]." <login>\n");
$if = fopen($log_file,"r") or die("Can't open file $log_file\n");
$of = fopen($output_file,"w") or die("Can't open file $output_file for writing\n");
fputs($of,"Connect time\t\tDisconnect time\t\tUpload\t\t\tDownload\t\tsec Online\r\n");
while(!feof($if)){
   $s = fgets($if);
   $a = explode(" ",$s);
   if($a[3]=='Connect,') {
       list($y,$m,$d) = explode("-",$a[0]);
       list($H,$M,$S) = explode(":",$a[1]);
       $ctime = mktime($H,$M,$S,$m,$d,$y);
       }
   elseif($a[3]=='Disconnect,') {
       list($y,$m,$d) = explode("-",$a[0]);
       list($H,$M,$S) = explode(":",$a[1]);
       $dtime = mktime($H,$M,$S,$m,$d,$y);
       $upload = trim($a[7],"'");
       $download = trim($a[10],"'");
       $time = $dtime-$ctime;
       fputs($of,sprintf("%s\t%s\t%s\t%s\t%d\r\n",date("Y-m-d H:i:s",$ctime),date("Y-m-d H:i:s",$dtime),$upload,$download,$time));
       }
}
fclose($if);
fclose($of);
?>

Ссылка на сообщение
Поделиться на других сайтах
Передано байт

Принято байт

По всем направлениям в сумме!?

у меня всего 1 направление, можно только по нему!!!

 

спасибо огромнейшее!!!!! Сегодня попробую!!!

Я на Delphi написал такое, а вот на ПХП/Перл - сил не хватает :) А хотел, чтоб он на сервере стоял.

 

У меня вообщем вот какая задумка:

стоит 2 сервера: Инет-сервер со Старгейзером и Web-сервер (почта).

На веб-сервере стоит скриптик, который каждый час стягивает с Инет-сервера логи юзеров по ФТП. А потом юзер заходит на сайт и видит свою статистику :)

Сегодня попробую это все запустить!!!

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...