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 ...
Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
Perl System() Postmap per Cron funzt nicht.
Moderator: Moderatoren
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:
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);
SuSE 12.3 kernel 3.7.10-1.16-desktop, K Desktop Environment Version 4.10.5 r1 - Medion Titanium Aldi v. 03/2009