• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Perl System() Postmap per Cron funzt nicht.

Blut

Newbie
Hallo,

Ich habe ein kleines Prob.

In meinen Script habe diesen Befehl eingetragen :

system ('postmap', $virt);

Wenn ich das Script auf der Shell per perl scriptname.pl ausführe funktioniert das ...
Der User Root per Crontab führt das Script aus und funkt, bis auf diesen Befehl ...

system ('postmap', $virt);

Weiß einer warum ?

Danke ...
 

taki

Advanced Hacker
Der Thread ist zwar schon etwas verstaubt, aber da nie jemand geantwortet hat und die Frage an sich nicht uninteressant ist, will ichs mal klären.

Hier liegt der häufigste Fehler im Umgang mit cron vor. Wird ein Befehl von cron ausgeführt, ist der Pfad nicht gesetzt. Das gilt dann auch für den im Perlscript angegebenen System-Aufruf.

Also muss nicht nur das Script mit dem vollständigen Pfad in die crontab eingetragen werden, sondern auch beim System-Aufruf im Perlscript der Pfad vor den Befehl gestellt werden. Wenn postmap unter /usr/sbin liegt, muss der Aufruf also folgender Maßen lauten, damit er auch mit cron funktioniert:

system ('/usr/sbin/postmap', $virt);
 
Oben