Ich möchte einfach nur einen Befehl (eigentlich ein Shell-Skript) aus einem bestimmten Verzeichnis als Cron-Job ausführen. Wie kann ich es laufen , so dass es ohne zu einem bestimmten Verzeichnis eingestellt ist cd
.
16
Ihre Frage macht wenig Sinn. Verwendencd
. Wenn Sie die Antwort nicht verwenden cd
möchten, weil Sie sie ausprobiert haben und sie nicht funktioniert hat, haben Sie sie wahrscheinlich nicht richtig in die Crontab eingegeben.
Am einfachsten wäre es, ein kleines Shell-Skript zu schreiben, das Ihre Hauptaufgabe ausführt und dann das Skript erstellt.
&&
), aber Sie können auch ein separates Skript schreiben, das alle Befehle enthält, und den Pfad zum Skript einfach in cron einfügen, wie von Daenyth vorgeschlagen. Ihr Skript so etwas wie das Lesen Sie das Verzeichnis aus einer Konfigurationsdatei tun könnte , wenn Sie mögen - der Punkt ist, aber Sie den Verzeichnisnamen in das Skript erhalten möchten, es ist keine Entschuldigung , nicht zu verwendencd
.Geben Sie einfach den Pfad zum Skript an. Keine Notwendigkeit für
cd
:Wenn Ihr Skript nach Dateien in sucht
.
, müssen Sie Folgendes verwendencd
:quelle
&&
, wie in der Antwort auf @WillSheppard verlinkt, wäre besser, als;
weil&&
nur dann der nächste Befehl ausgeführt wird, wenn der vorherige Befehl erfolgreich war.