The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"PERL"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"PERL"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 06-Авг-03, 06:45  (MSK)
Какая существует
# Стандартная библиотека работы с базой данных в ней процедуры Connect, Select, Exec, Insert, Delete, Update
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • PERL, A Clockwork Orange, 07:17 , 06-Авг-03, (1)
    • PERL, Nimdar, 11:49 , 06-Авг-03, (2)
      • PERL, A Clockwork Orange, 16:02 , 06-Авг-03, (4)
  • PERL, DogEater, 15:56 , 06-Авг-03, (3)
    • PERL, Nickolay, 16:04 , 06-Авг-03, (5)
      • PERL, DogEater, 16:08 , 06-Авг-03, (6)

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "PERL"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 06-Авг-03, 07:17  (MSK)
Вот цитата из статьи на http://www.artmagic.ru/labs/cisco.shtml

Мне кажется здесь где то неточность, что тут имелось ввиду?

"Скрипт для получения статистики с роутера и помещения в базу данных. Для реализации скрипта нужно уметь делать стандартные операции с SQL базой (получить, вставить, удалить, изменить данные и т.п.). Для различных платформ реализации разные, поэтому описания самого механизма выполнения SQL-запросов через Perl мы не приводим. Мы пользовались интерфейсом DBI.

#!/usr/bin/perl

# Стандартная библиотека работы с базой данных в ней процедуры Connect,
Select, Exec, Insert,
# Delete, Update
require '/usr/local/traffic/lib/DB2.pl';

Connect('TrafficBase', '10.128.1.43', 'root', '');

# С каких роутеров собирать статистику - ip - ID в таблице роутеров
$Routers{'10.58.0.1'} = 1;
$Routers{'10.55.3.1'} = 3;

foreach $ip (keys %Routers) {

# Переводим данные о траффике из таблицы active в таблицу checkpoint
`/usr/bin/rsh -l traffic $ip clear ip accounting`

# Получаем данные с маршрутизатора из таблицы checkpoint

@Stat = split(/\n/, `/usr/bin/rsh -l traffic $ip sh ip accounting checkpoint`);

@AD = localtime;

$Date = sprintf("M-d-d d:d:d", $AD[5] + 1900, $AD[4] + 1, $AD[3],
$AD[2], $AD[1], $AD[0]);

foreach $s (@Stat) {
if ($s !~ /^\s\d{1,3}\./) { next; } # Игнорируем заголовок и Summary
$s =~ s/^\s+//;
$s =~ s/\s+/ /g;
my @Row = split (/ /, $s);
my @Dst = split (/\./, $Row[1]);

# Записываем в базу данные по трафику
Insert('Traffic', "'', '$Date', '$Row[0]', '0', '$Dst[0].$Dst[1]', $Dst[2], $Dst[3], '0', $Row[3], '', $Routers{$ip}");
"

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "PERL"
Сообщение от Nimdar Искать по авторуВ закладки on 06-Авг-03, 11:49  (MSK)
>Вот цитата из статьи на http://www.artmagic.ru/labs/cisco.shtml
>
>Мне кажется здесь где то неточность, что тут имелось ввиду?
>
>"Скрипт для получения статистики с роутера и помещения в базу данных. Для
>реализации скрипта нужно уметь делать стандартные операции с SQL базой (получить,
>вставить, удалить, изменить данные и т.п.). Для различных платформ реализации разные,
>поэтому описания самого механизма выполнения SQL-запросов через Perl мы не приводим.
>Мы пользовались интерфейсом DBI.
>
>#!/usr/bin/perl
>
># Стандартная библиотека работы с базой данных в ней процедуры Connect,
>Select, Exec, Insert,
># Delete, Update
>require '/usr/local/traffic/lib/DB2.pl';
>
>Connect('TrafficBase', '10.128.1.43', 'root', '');
>
># С каких роутеров собирать статистику - ip - ID в таблице
>роутеров
>$Routers{'10.58.0.1'} = 1;
>$Routers{'10.55.3.1'} = 3;
>
>foreach $ip (keys %Routers) {
>
># Переводим данные о траффике из таблицы active в таблицу checkpoint
>`/usr/bin/rsh -l traffic $ip clear ip accounting`
>
># Получаем данные с маршрутизатора из таблицы checkpoint
>
>@Stat = split(/\n/, `/usr/bin/rsh -l traffic $ip sh ip accounting checkpoint`);
>
>@AD = localtime;
>
>$Date = sprintf("M-d-d d:d:d", $AD[5] + 1900, $AD[4] + 1, $AD[3],
>$AD[2], $AD[1], $AD[0]);
>
>foreach $s (@Stat) {
>if ($s !~ /^\s\d{1,3}\./) { next; } # Игнорируем заголовок и Summary
>
>$s =~ s/^\s+//;
>$s =~ s/\s+/ /g;
>my @Row = split (/ /, $s);
>my @Dst = split (/\./, $Row[1]);
>
># Записываем в базу данные по трафику
>Insert('Traffic', "'', '$Date', '$Row[0]', '0', '$Dst[0].$Dst[1]', $Dst[2], $Dst[3], '0', $Row[3], '', $Routers{$ip}");
>
>"


Так ведь ясно же сказано - "Мы пользовались интерфейсом DBI."
Второе, тебя должна была навести на размышления строка
require '/usr/local/traffic/lib/DB2.pl';

Ищи на CPAN-е.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "PERL"
Сообщение от A Clockwork Orange Искать по авторуВ закладки on 06-Авг-03, 16:02  (MSK)
Возможно я ошибаюсь но строка
require '/usr/local/traffic/lib/DB2.pl
какое отношение имеет к DBI?

я собственно уже исправил скрипт с DBI
use DBI;
use DBD::mysql;

$dbh = DBI->connect('dbi:mysql:ipacc:localhost:3306','','');
...
$cur = $dbh->prepare ("INSERT INTO raw (id, date, srcaddr, dstaddr, dpkts, doctets, routerid ) VALU
ES ('0','$Date', '$Row[0]', '$Row[1]', '$Row[2]', '$Row[3]', '$Routers{$ip}')");                  
$cur->execute;

короче в скрипте недоработки либо он очень старый.
А книжку купить , мысль хорошая хотьи не новая, спасибо за совет, прислушаюсь.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "PERL"
Сообщение от DogEater Искать по авторуВ закладки on 06-Авг-03, 15:56  (MSK)
Ты бы себе книжку купил что ли? Ей богу ведь есть нормальная литература по перлу
Книжку опять же можно перчитывать...
Это не упрёк это совет :-) Я себе три книжки купил(надо будет ещё отдельную книжку  по регулярным выражениям прикупить).
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "PERL"
Сообщение от Nickolay Искать по авторуВ закладки on 06-Авг-03, 16:04  (MSK)
>Ты бы себе книжку купил что ли? Ей богу ведь есть нормальная
>литература по перлу
>Книжку опять же можно перчитывать...
>Это не упрёк это совет :-) Я себе три книжки купил(надо будет
>ещё отдельную книжку  по регулярным выражениям прикупить).
O'Reily рулит???!!! :-)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "PERL"
Сообщение от DogEater Искать по авторуВ закладки on 06-Авг-03, 16:08  (MSK)
>>Ты бы себе книжку купил что ли? Ей богу ведь есть нормальная
>>литература по перлу
>>Книжку опять же можно перчитывать...
>>Это не упрёк это совет :-) Я себе три книжки купил(надо будет
>>ещё отдельную книжку  по регулярным выражениям прикупить).
>O'Reily рулит???!!! :-)

это которые с животными? Рулит :-)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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