Hi @all
ich verwalten mehrere SLES Server. Für meine Systeme habe ich ein Perlskript geschreiben, der mir Zeigt, ob ein dienste der in /etc/init.d/rc3.d liegt, gestartet ist oder nicht:
#!/usr/bin/perl
use strict;
Variablen
my $ServicesDirectory="/etc/init.d/rc3.d"; # Verzeichnis in dem sich die zu Startenden Dienste befinden
Hauptprogramm
my @service = ;
foreach my $service (@service){
$service=~s/$ServicesDirectory///;
next if „$service“ =~ „S[0-9]*bigbrother“ ||
„$service“ =~ „S[0-9]*hwscan“ ||
„$service“ =~ „S[0-9]*learnvipa“ ||
„$service“ =~ „S[0-9]*fbset“ ||
„$service“ =~ „S[0-9]*rpmconfigcheck“ ||
„$service“ =~ „S[0-9]*smbfs“ ||
„$service“ =~ „S[0-9]*nfs“ ||
„$service“ =~ „S[0-9]*nfsboot“ ||
„$service“ =~ „S[0-9]*splash_early“ ||
„$service“ =~ „S[0-9]*running-kernel“ ||
„$service“ =~ „S[0-9]*kbd“ ||
„$service“ =~ „S[0-9]*splash“ ||
„$service“ =~ „S[0-9]*ITCAM“ ||
„$service“ =~ „S[0-9]*rebootmail“ ||
„$service“ =~ „S[0-9]*dsmcad“ ||
„$service“ =~ „S[0-9]*custstart“;
$service=~s/S[0-9]*/rc/; # Sxx nach rc wandeln (z.B. S016apache --> rcapache)
my $ServiceStatus=$service status \>/dev/null && echo OK || echo FEHLER
;
$service=~s/S[0-9]*//; # Sxx nach rc wandeln (z.B. S016apache --> rcapache)
print „$service ==> $ServiceStatus“;
}
Das Skript funktioniert, wenn ich es unter der Konsole mit dem root User ausführe.Jetzt wollte ich das Skript, auf einer Webseite Präsentieren
also ein CGI Skript daraus machen. Und nun kommen wir zu mein eigentlichen Problem. Wenn ich das Skript über cgi-bin aufrufe, dann wird das Skript mit dem wwwrun User aufgerufen und es funtkioniert nicht mehr.
Hast du vielleicht eine Idee wie ich das Problem sonst noch lösen könnte?
Danke schon mal im voraus für deine Hilfe.
Gruß
Marcus