Als Root habe ich crontab -e
mein Skript hinzugefügt. Das Skript verwendet jedoch eine Binärdatei /usr/sbin/
und ich erhalte eine Fehlermeldung, dass diese nicht existiert, wenn das Skript von Cron ausgeführt wird. Wie behebe ich das?
Antwort1
Sie sollten einfach den vollständigen Pfad für die Binärdatei verwenden.
Angenommen, Sie möchten ipconfig
einen Cron-Job ausführen. Anstatt dass Ihre Crontab einen Befehl wie diesen enthält:
ipconfig
Sie würden das folgendermaßen ändern:
/usr/sbin/ipconfig
Denken Sie daran: Shell-Pfade teilen dem System lediglich mit, wo es nach Binärdateien/ausführbaren Dateien suchen soll, wenn Sie sie von der Befehlszeile aus aufrufen, um Ihnen das Eintippen von Befehlen zu erleichtern. Die Angabe des vollständigen Pfads für Binärdateien/ausführbare Dateien funktioniert bei der Verwendung von Skripten zu 100 % genauso.
Antwort2
Wahrscheinlich nicht der sauberste Ansatz, aber
Sie können die PATH-Variable in crontab festlegen. Fügen Sie diese als erste Zeile Ihrer crontab ein.
# start of crontab file
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# your cron entries below