masters 126 Опубликовано: 2007-03-23 11:02:48 Share Опубликовано: 2007-03-23 11:02:48 Помогите пожалуйста с парсером логов по юзерам! Просто кусочек кода на Perl, PHP. Чтобы из лога выбирал и выводил в файл по строкам: Время подключения Время отключения Передано байт Принято байт Время рабты Ссылка на сообщение Поделиться на других сайтах
canny 0 Опубліковано: 2007-03-23 11:43:43 Share Опубліковано: 2007-03-23 11:43:43 Передано байтПринято байт По всем направлениям в сумме!? Ссылка на сообщение Поделиться на других сайтах
canny 0 Опубліковано: 2007-03-23 12:35:45 Share Опубліковано: 2007-03-23 12:35:45 <?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); ?> Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2007-03-23 15:34:56 Автор Share Опубліковано: 2007-03-23 15:34:56 Передано байтПринято байт По всем направлениям в сумме!? у меня всего 1 направление, можно только по нему!!! спасибо огромнейшее!!!!! Сегодня попробую!!! Я на Delphi написал такое, а вот на ПХП/Перл - сил не хватает А хотел, чтоб он на сервере стоял. У меня вообщем вот какая задумка: стоит 2 сервера: Инет-сервер со Старгейзером и Web-сервер (почта). На веб-сервере стоит скриптик, который каждый час стягивает с Инет-сервера логи юзеров по ФТП. А потом юзер заходит на сайт и видит свою статистику Сегодня попробую это все запустить!!! Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас