Schrift
[thread]8559[/thread]

Daten vom x-server zu y-server holen (Seite 2)



<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
Ispartali86
 2006-12-07 15:59
#72320 #72320
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
Die datenbank ist folgendermaßen aufgebaucht:

id domain datum mails spam spam_quaran virus
1 xy.de 2006-12-06 2699 1797 1540 133

die log sind doch in der datenbank erfasst
renee
 2006-12-07 16:10
#72321 #72321
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und wonach soll die Auswertung gegliedert sein? Nach der Domain? Nach dem Datum?

Mal nach Domain:
Code: (dl )
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
#!/usr/bin/perl

use strict;
use warnings;
use DBI;

my ($user,$pass,$db,$host) = ("username","passwort","datenbank","host");
my $dbh = DBI->connect("DBI:mysql:$db:$host",$user,$pass) or die $DBI::errstr;

my $stmt = "SELECT domain,SUM(mails),SUM(spam),SUM(spam_quaran),SUM(virus) FROM tabellenname GROUP BY domain";

my $sth = $dbh->prepare($stmt) or die $dbh->errstr();
$sth->execute() or die $dbh->errstr();

while(my ($dom,$mails,$spam,$spam2,$virus) = $sth->fetchrow_array()){
print qq~
Domain: $dom
Mails: $mails
Spam: $spam
Spam2: $spam2
Virus: $virus

~;
}

$sth->finish();
$dbh->disconnect();
\n\n

<!--EDIT|renee|1165500668-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Ispartali86
 2006-12-07 16:31
#72322 #72322
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
vielen vielen dank für das script, es soll nach datum gegliedert sein -> das ist kein problem, wie kann ich denn bei host
den anderen server angeben, habe mal mit http aus probiert aber es stand das es http nich erkannt wird.

ip vom server ist z.b. so: 194.9.194.99,
renee
 2006-12-07 16:47
#72323 #72323
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Es sollte eigentlich mit der IP-Adresse klappen. Ist denn die Datenbank so konfiguriert, dass man auch "von außen" zugreifen kann?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Ispartali86
 2006-12-07 17:35
#72324 #72324
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
nein, hab gerade nachgefragt der port soll geschlossen sein, weil es sonst zu gefährlich wäre, also das heißt es wird nicht klappen, was für eine andere möglichkeit haben wir denn sonst
topeg
 2006-12-07 17:42
#72325 #72325
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Es muß nur ein port verfügbar sein und das recht ein Perlscript auf dem Rechner aus zu führen. Dann kannst du einen kleinen Perldeamon schreiben, der auf dem Port horcht, und bei einer Anfrage die Daten sendet.

ssh ist auch möglich oder Telnet.

der Deamon kann auch auf dem Zielrechner laufen die Listen vom anderen Server empfangen. gleiches gild auch für telnet und ssh.\n\n

<!--EDIT|topeg|1165506268-->
Ispartali86
 2006-12-07 18:05
#72326 #72326
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
das mit dem port öffnen können wir vergessen, macht der admin nicht,

wie funktioniert das denn mit ssh oder snmp (beides sicher). wie soll denn etwa das script aussehen
nepos
 2006-12-07 19:33
#72327 #72327
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Du könntest eventuell die DB-Verbindung mit SSH tunneln.
Is immer wieder lustig. Spezielle Ports macht man nicht auf, aber SSH schaltet man frei. Wo man dann fleißig Tunnels bauen kann :P
topeg
 2006-12-07 19:38
#72328 #72328
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Wenn du nicht tunneln willst/darfst...

Auf dem Server "X" muß es ein Script, ich nennen es mal "read_db.pl", geben, das die Datenbank abfrgt sieh dazu das Beispiel oben. Es gibt die Daten einfach mit "print" aus.
Auf dem Server "Y" ist "Net::SSH::Perl" installiert. Hier gibt es ein Script, das ungefähr so aussehen könnte:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl
use strict;
use warnings;
use Net::SSH::Perl;
my ($host,$user,$pass)=('X','unbekannt','weissnicht');

# Verbindung aufbauen
my $ssh = Net::SSH::Perl->new($host);
$ssh->login($user, $pass);

# Befehl absetzen
my($daten, $fehler) = $ssh->cmd('/pfad/zum/script/read_db.pl');
die("SSH Fehler ($fehler)") if($fehler);
print "DATEN:\n$daten";

# eigendlich unnötig
# Verbindung schließen.
undef($ssh);
Ispartali86
 2006-12-08 11:23
#72329 #72329
User since
2006-10-12
27 Artikel
BenutzerIn
[default_avatar]
danke für den code, habe gerade das script entsprechend geändert, aber jetzt bekomme ich folgende Fehler meldung

Code: (dl )
Net::SSH: Bad host name: http://194.9.xxx.xx at test.pl line 11


was heißt das jetzt
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2006-12-07 13:03.