trafd

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
weber
рядовой
Сообщения: 34
Зарегистрирован: 2006-07-21 18:07:58

Непрочитанное сообщение weber » 2006-09-20 10:49:31

дык... вот мой конфиг

Код: Выделить всё

less db_step1.pl
#!/usr/bin/perl
use Mysql;

$dsn = 'DBI:mysql:db_name:localhost';
$db_user = 'user';
$db_pass = 'password';
$dbh = DBI->connect($dsn, $db_user, $db_pass);

$plain_path='/usr/local/var/plain/';
$yesterday=`date -v-1d '+%Y%m%d'`;
chomp($yesterday); $full_path=$plain_path.$yesterday.".fxp1";

$del_query="delete from yesterday;";
$dbh->Query($del_query);

open(F,$full_path) || die "Can't open traffic plain file";
while ($str=<F>)
{
  chomp($str);
  $fi=substr($str,0,1);

  if (($fi>='1') && ($fi<='9'))
  {
      @a=split('\s+',$str);
      # @a[0] - src_ip, @a[1] - src_port, @a[2] - dst_ip, @a[3] - dst_port
      # @a[4] - proto, @a[6] - size of packets

      if (@a[1] eq 'client') {
          $src_port=65535;
      } else {
          if (@a[1] eq 'none') {
                $src_port=0;
             } else {
                $src_port=@a[1];
             }
      }
      if (@a[3] eq 'client') {
          $dst_port=65535;
      } else {
          if (@a[3] eq 'none') {
                $dst_port=0;
             } else {
                $dst_port=@a[3];
             }
      }
      $proto=0;
      if (@a[4] eq 'icmp') {
         $proto=1; }
      if (@a[4] eq 'tcp') {
         $proto=6; }
      if (@a[4] eq 'udp') {
         $proto=17; }

      $ins_query="insert into yesterday (src_ip, src_port, dst_ip,\
         dst_port, proto, bytes) values ('".@a[0]."',".$src_port.\
         ",'".@a[2]."',".$dst_port.",".$proto.\",".$a[6].");";
      $dbh->Query($ins_query);
  };
};

close(F);
и ругается на

Код: Выделить всё

proxy# /usr/local/var/trafd/db_step1.pl
Can't locate object method "Query" via package "DBI::db" at /usr/local/var/trafd/db_step1.pl line 14.
proxy#
как поступить?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35069
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-09-20 10:51:35

я перл плохо знаю...
а DBI не использовал, хотя правильней его использовать...
почитай в самом модуле, в конце, обычно комменты есть.
Убей их всех! Бог потом рассортирует...