perl - Problem

01/10/2008 - 13:32 von Michael Wulz | Report spam
Hallo Community,

Ich versuche gerade auf einem Debian Linux "eLuna" zu installieren.
==> http://steph.eluna.org/eluna_graph_system.html

Ich habe die geforderten Pakete (perl, apache2, rrdtool, Perl Modul
DateTime und Perl Modul HTML::Template::Expr) installiert.

Ich habe nun einen Cronjob welcher mir die Datei /var/www/eLuna/update.pl
alle 5 Minuten ausführt:

Hier inhalt von /etc/cron.d/eLuna.cron
SHELL=/bin/sh
*/5 * * * * root /var/www/eLuna/update.pl

Das Perl-Script generiert brav die rrd-Datenbanken ohne Fehler, auch die
Grafiken (PNG's) werden generiert. Jedoch werden die RRD-Datenbanken
nicht mit Daten befüllt.

Dazu gibt es zum beispiel für die Load-Average folgendes perl-Script
(update.pl von 01_load im rrd Subdirectory):
#!/usr/bin/perl

$dummy = `cat /proc/loadavg`;
$dummy =~ /(.*) (.*) (.*) (.*) (.*)/;

system("rrdtool update load.rrd -t load_1mn:load_5mn:load_15mn N:$1:$2:
$3");

Die Datei "load.rrd" existiert und ist beschreibbar.
ein "cat /proc/loadavg" ist ebenfalls über die Shell als Root möglich.

So nun meine Frage, warum führt das Perl-Script den Befehl "system
("rrd");" nicht aus?

Wenn ich den Befehl "rrdtool update load.rrd -t
load_1mn:load_5mn:load_15mn N:0.10:0.11:0.20" mit der Hand ausführe,
werden die Daten erfolgreich in dir rrd-Datenbank geschrieben.

Mir scheint, als könnte perl diesen Befehl nicht ausführen.

meine verwendete Perl Version: 5.10.0, RRD-Tool Version: 1.3.1

danke im Voraus
Michael Wulz
 

Lesen sie die antworten

#1 Anonimo
01/10/2008 - 13:51 | Warnen spam
Michael Wulz wrote:
Hallo Community,

Ich versuche gerade auf einem Debian Linux "eLuna" zu installieren.
==> http://steph.eluna.org/eluna_graph_system.html

Ich habe die geforderten Pakete (perl, apache2, rrdtool, Perl Modul
DateTime und Perl Modul HTML::Template::Expr) installiert.

Ich habe nun einen Cronjob welcher mir die Datei /var/www/eLuna/update.pl
alle 5 Minuten ausführt:

Hier inhalt von /etc/cron.d/eLuna.cron
SHELL=/bin/sh
*/5 * * * * root /var/www/eLuna/update.pl

Das Perl-Script generiert brav die rrd-Datenbanken ohne Fehler, auch die
Grafiken (PNG's) werden generiert. Jedoch werden die RRD-Datenbanken
nicht mit Daten befüllt.

Dazu gibt es zum beispiel für die Load-Average folgendes perl-Script
(update.pl von 01_load im rrd Subdirectory):
#!/usr/bin/perl

$dummy = `cat /proc/loadavg`;
$dummy =~ /(.*) (.*) (.*) (.*) (.*)/;

system("rrdtool update load.rrd -t load_1mn:load_5mn:load_15mn N:$1:$2:
$3");

Die Datei "load.rrd" existiert und ist beschreibbar.
ein "cat /proc/loadavg" ist ebenfalls über die Shell als Root möglich.

So nun meine Frage, warum führt das Perl-Script den Befehl "system
("rrd");" nicht aus?


wahrscheinlich weil perl rrd nicht findet!
unter cron schaut der inhalt der $PATH meistens anders aus.

Wenn ich den Befehl "rrdtool update load.rrd -t
load_1mn:load_5mn:load_15mn N:0.10:0.11:0.20" mit der Hand ausführe,
werden die Daten erfolgreich in dir rrd-Datenbank geschrieben.

Mir scheint, als könnte perl diesen Befehl nicht ausführen.

meine verwendete Perl Version: 5.10.0, RRD-Tool Version: 1.3.1

danke im Voraus
Michael Wulz


Ähnliche fragen