PeTaGeh: curl oder wget in einer bash

Beitrag lesen

Moinsen,

echo $begrüßung;

Und wenn ich dieses Skript per Hand ausführe läuft auch alles
unter einer anderen User-Umgebung als wenn es als cron-job ausgeführt wird.
die Pfade in den bash-skripten und in den PHP-Dateien sind absolut.

Das ist in deinem Beispiel so nicht zu sehen. curl steht einfach so da und nicht als /usr/bin/curl, oder wo auch immer es installiert ist.

Und wenn ich den cronjob auf meinetwegen 8:00 setze funktioniert alles reibungslos.

Eigenartig, aber es gibt dafür sicher eine Erklärung.

Ein weiteres Phänomen: Manchmal bricht ein PHP-Skript mitten in der Ausführung ab und alle nachfolgenden Logs sind dann leer. *verzweifelt-dreinblick*

Konfiguriere lieber ein Error-Logging in eine Datei. Cronjobs haben die Eigenart, Fehler (also Ausgaben der beteiligten Programme nach stderr) per Mail an den Benutzer zu versenden, unter dem der Cronjob läuft. Da du nicht erwähntest, dass da keine Post ankommt, gehe ich davon aus, dass du auch dort noch nicht nachgesehen hast.

P.S. Bitte die Zitatzeichen unverändert lassen.

echo "$verabschiedung $name";

Danke, für all die Antworten. Aber das Problem liegt wohl an einer ganz anderen Stelle.

Der Aufruf eines Bash-Skriptes innerhalb eines Bash-Skriptes funktioniert nicht sequentiell, heisst wenn ein Bash-Skript aufgerufen wird, wird nicht auf die Antwort gewartet, sondern gleich mit dem nächsten Kommando weitergemacht. Die Indifferenz liegt also zwischen dem Bash-Skript Aufruf und dem nachfolgenden curl-Aufruf. Das Bash-Skript wird ausgeführt und parallel läuft curl schon los. Und schon kommt es zu Problemen.

Gruss, Peter

--
If kids had been influenced by Pacman, they'd be jumping around in dark rooms eating strange pills and listening to monotonous music these days.