Leser: 1
![]() |
|< 1 2 >| | ![]() |
14 Einträge, 2 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use strict;
use warnings;
use DBI;
use Net::Telnet::Cisco;
use Digest::MD5;
our $dbh;
my $session = Net::Telnet::Cisco-> new (Host => '10.200.2.100');
my $raw_data;
sub Login{
my @output = $session->cmd('show run');
my $List = join '',@output;
my @array = split /interface ATM/,$List;
shift @array;
my %hash;
for my $interface(@array){
my ($bez) = $interface =~ /^([^\n]+)/;
my @data = $interface =~ /(data.*?cbr 128)/sg;
for my $data(@data){
my ($id,$ip) = $data =~ /(data\s*[\d\/]+).*?protocol ip ((?:\d{1,3}\.){3}\d{1,3})/s;
push @{$hash{'ATM'.$bez}}, [$id,$ip];
}
}
for my $atm(keys %hash){
print sprintf("%10s | %10s | %15s\n",$atm,'data','IP');
print sprintf("%10s | %10s | %15s\n",' ',@$_) for @{$hash{$atm}};
}
}
1
2
3
4
5
6
7
8
$query= "INSERT INTO RC_CISCO_NB(ID,NEID,TS,VPI,VCI,PCR,data,IP) VALUES(' ','$neid',NOW(),'','','','','')";
$sth = $dbh->prepare($query) or die "Querry Error prepare: $DBI::errstr\n";
$sth->execute or die "Querry Error execute: $DBI::errstr\n";
$datarefid = $dbh->{'mysql_insertid'};
$sth->finish();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use strict;
use warnings;
use DBI;
use Net::Telnet::Cisco;
use Digest::MD5;
our $dbh = DBI->connect(...) or die $DBI::errstr;
my $session = Net::Telnet::Cisco-> new (Host => '10.200.2.100');
my $raw_data;
sub Login{
my @output = $session->cmd('show run');
my $List = join '',@output;
my @array = split /interface ATM/,$List;
shift @array;
my %hash;
for my $interface(@array){
my ($bez) = $interface =~ /^([^\n]+)/;
my @data = $interface =~ /(data.*?cbr 128)/sg;
for my $data(@data){
my ($id,$ip) = $data =~ /(data\s*[\d\/]+).*?protocol ip ((?:\d{1,3}\.){3}\d{1,3})/s;
push @{$hash{'ATM'.$bez}}, [$id,$ip];
}
}
my $query = "INSERT INTO RC_CISCO_NB(NEID,TS,VPI,VCI,PCR,data,IP) VALUES(?,NOW(),'','','',?,?)";
my $sth = $dbh->prepare($query) or die $dbh->errstr();
for my $atm(keys %hash){
print sprintf("%10s | %10s | %15s\n",$atm,'data','IP');
print sprintf("%10s | %10s | %15s\n",' ',@$_) for @{$hash{$atm}};
$sth->execute($neid,$_,$atm) or die $dbh->errstr() for(@{$hash{$atm}});
}
}
1
2
DBD::mysql::st execute failed: called with 3 bind variables when 2 are needed at ./test.pl line 114.
Error during show run command!
$sth->execute($neid,$_,$atm) or die $dbh->errstr() for(@{$hash{$atm}});
1
2
DBD::mysql::st execute failed: called with 3 bind variables when 2 are needed at ./test.pl line 114.
Error during show run command!
1
2
3
4
5
6
7
Use of uninitialized value in string eq at line 145
line 145: if (($newdata->{NEID} eq ($neid))){
}
HINWEIS : Beide $newdata und $neid sind am Anfang der Skript schön deklariert!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
sub Rooter{
my $neid = 2923
my ($NB_TS,$NBvpi,$NBvci,$NBpcr,$pvc);
my ($query,$sth,$sth1,$execu,$newdata,$ds,$summe);
$query = "SELECT ID,NEID,VPI,VCI,PCR,PVC,IP FROM NB WHERE NB.NEID='$neid' ORDER BY RC_CISCO_NB.ID DESC LIMIT 1 ";
$sth = $dbh->prepare($query) or die "Error in query prepare: $DBI::errstr\n";
$sth->execute or die "Error executing query: $DBI::errstr\n";
if($newdata = $sth->fetchrow_hashref){
if (($newdata->{NEID} eq ($neid))&& ($newdata->{TS} eq ($NB_TS)))
{
#NODEB Daten Gleich
print " GLEICHE NB\n";
$query="UPDATE GATE_STATE SET TS_LastChange=NOW() WHERE NEID='$neid' ORDER BY TS_LastChange DESC LIMIT 1;";
$sth= $dbh->prepare($query) or die "Querry Error prepare: $DBI::errstr\n";
$sth->execute or die "Querry Error execute: $DBI::errstr\n";
$sth->finish()
}
$sth->finish(); &n
bsp;
}
1
2
3
$query = "SELECT ID,NEID,VPI,VCI,PCR,PVC,IP FROM NB WHERE NB.NEID='$neid' ORDER BY RC_CISCO_NB.ID DESC LIMIT 1 ";
$sth = $dbh->prepare($query) or die "Error in query prepare: $DBI::errstr\n";
$sth->execute or die "Error executing query: $DBI::errstr\n";
1
2
3
$query = "SELECT ID,NEID,VPI,VCI,PCR,PVC,IP FROM NB WHERE NB.NEID=? ORDER BY RC_CISCO_NB.ID DESC LIMIT 1 ";
$sth = $dbh->prepare($query) or die "Error in query prepare: $DBI::errstr\n";
$sth->execute($neid) or die "Error executing query: $DBI::errstr\n";
if($newdata = $sth->fetchrow_hashref){
1
2
3
4
5
while($newdata = $sth->fetchrow_hashref){
if (($newdata->{NEID} eq ($neid))&& ($newdata->{TS} eq ($NB_TS)))
{
if (($newdata->{NEID} eq ($neid))&& ($newdata->{TS} eq ($NB_TS)))
![]() |
|< 1 2 >| | ![]() |
14 Einträge, 2 Seiten |