
Ich habe ein Bereitstellungsskript und versuche darin einen Cron-Job hinzuzufügen. Dies ist der Code, den ich verwende und den ich auf Stackoverflow gefunden habe. Ich verwende Debian 8.
# ADD CRON
crontab -l > mycron
echo "10 * * * * cd /var/www/test/ && ./test" >> mycron
crontab mycron
rm mycron
Wenn ich diese Befehle ausführe, erhalte ich die Antwort:no crontab for root
Was mache ich hier falsch und wie kann ich diesen Cron-Job mithilfe eines Bash-Skripts hinzufügen? Vielen Dank.
Antwort1
Klingt, als ob (a) die Crontab von Root anfangs leer ist und (b) die -e
Option in der Shell festgelegt ist.
Wenn die Crontab-Datei des Benutzers leer ist, crontab -l
wird das Programm mit dem Status 1 beendet.
Wenn die Shell mit Option ausgeführt wird -e
, wird sie bei einem Fehler sofort beendet (definiert als Beenden mit einem Status ungleich Null).
Suchen Sie errexit
in der Ausgabe von echo $SHELLOPTS
nach dieser Einstellung. Deaktivieren Sie sie in der aktuellen Shell mit set +e
.