Ich habe einen Bash-Skript, das ich will alle 15 Minuten ausgeführt werden, so dass ich hinzugefügt, um diese Linie zu meiner crontab:Bash-Skript läuft manuell im Terminal aber nicht ausgeführt von crontab
7,22,37,52 * * * * /path/to/my/script.sh
ich eingecheckt habe der Verzeichnispfad ist korrekt und das Skript läuft korrekt, wenn ich einfach /path/to/my/script.sh
manuell aus einem beliebigen Verzeichnis ausführen. Ich habe diese Knall Linie in meinem Skript:
#!/usr/bin/env bash
Mein Skript auch andere Skripte im selben Verzeichnis wie es verweist, und ich habe chmod +x
auf alle Skripte ausführen, die benötigt werden. Ich habe die MAILTO
auf meine E-Mail-Adresse und ich war einige Cron-Daemon E-Mails bekommen, wenn ich die Zeile in meinem crontab geändert:
7,22,37,52 * * * * sh /path/to/my/script.sh
Aber ich bekam nie E-Mails bei der Verwendung
7,22,37,52 * * * * /path/to/my/script.sh
oder
Ich habe sichergestellt, Cron läuft und ich habe auch versucht, die Ausgabe meines Skripts in eine Protokolldatei, die auch nur in geschrieben wird, wenn ich die sh. Wenn ich jedoch sh /path/to/my/script.sh
aus dem Home-Verzeichnis ausführen, funktioniert es nicht. Die einzige Möglichkeit, wie mein Skript läuft, ist, wenn (aus einem beliebigen Verzeichnis) ich /path/to/my/script.sh
oder bash /path/to/my/script.sh
aufrufen. Ich bin ziemlich neu beim Schreiben von Bash-Skripten, daher ist jede Hilfe sehr willkommen.
Fragen über die Verwendung von 'cron' sind besser geeignet für superuser.com oder unix.stackexchange.com. – Barmar
Ah ja. Ich habe das vergessen ... Aber die Konfiguration von Cron ist ein häufiges Problem für viele. – Xofo
Lesen Sie unbedingt https://help.ubuntu.com/community/CronHowto – Xofo