Was ist los mit meinem Cron-Befehl?

290
warez

Ich verwende Cron von Cpanel, ich möchte eine Datei ausführen und wenn es fertig ist, wird die nächste beendet. das ist mein Befehl

/usr/bin/wget -O /dev/null -o /dev/null https://example.com/file.php > /dev/null 2>&1 && wget -q -O - https://example.com/file2.php 

Es läuft nur der erste. Warum?

Vielen Dank!

0
Sind Sie sicher, dass der erste Befehl nicht fehlschlägt? Das zweite "wget" wird ohne den vollständigen Pfad aufgerufen. Es sollte kein Problem mit der Standardeinstellung "PATH" sein, die "/ usr / bin: / bin" sein sollte, aber stellen Sie sicher, dass Sie es nicht in Ihrer `crontab` überschreiben. Beachten Sie, dass dies in `crontab` nicht wie erwartet funktioniert:` PATH = / some / other / path: $ PATH`, da `$ PATH` dort nicht erweitert wird. Wenn Sie also eine solche Klausel verwenden, haben Sie unerwarteten "PATH". Kamil Maciorowski vor 6 Jahren 0

1 Antwort auf die Frage

2
Spiff

&&führt den zweiten Befehl nur aus, wenn der erste Befehl mit einem Exit-Code von Null (kein Fehler) beendet wird. Möglicherweise wgetkonnte die angegebene URL nicht abgerufen werden.

Wenn Sie möchten, dass der zweite Befehl nach dem ersten Befehl immer ausgeführt wird, auch wenn der erste Befehl Fehler meldet, verwenden Sie ;stattdessen &&die beiden Befehle.