der-daniel: cronjob startet mehrere skripts?

hallo leute,

ich habe einen cronjob, der mehrere skripte durchläuft, die unmittelbar nacheinander abgearbeitet werden müssen.
ich starte mit einem php-skript und leite dann immer an die anderen php-skripte mit header(Location:....) weiter.

leider funktioniert das scheinbar nicht, denn es wird immer nur das startskript abgearbeitet. kann ich das irgendwie lösen, oder muss ich alle skripte in eines zusammenfassen?

danke für eure hilfe,
der-daniel

  1. hallo Daniel,

    ich habe einen cronjob, der mehrere skripte durchläuft, die unmittelbar nacheinander abgearbeitet werden müssen.
    ich starte mit einem php-skript und leite dann immer an die anderen php-skripte mit header(Location:....) weiter.

    Werden denn die Scripte überhaupt über HTTP aufgerufen und nicht etwa über die Kommandozeile? In letzterem Fall zeigen HTTP-Header natürlich keine Wirkung.

    leider funktioniert das scheinbar nicht, denn es wird immer nur das startskript abgearbeitet. kann ich das irgendwie lösen, oder muss ich alle skripte in eines zusammenfassen?

    Nun, eine Möglichkeit wäre die Verwendung von exec().

    Schöne Grüße,

    Johannes

  2. Ich grüsse den Cosmos,

    ich starte mit einem php-skript und leite dann immer an die anderen php-skripte mit header(Location:....) weiter.

    CRON führt Scripte (gleich welcher Art) in der Kommandoumgebung aus. Und diese kennt kein header()

    Entweder du benutzt eine geeignetere Scriptsprache oder du schaust dir Dinge wie exec() an. Ich würde es besser finden, die PHP-Scripte nacheinander per Bash-Script aufzurufen.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
  3. Hello,

    der CRON-JOB würde die PHP-Scripte doch aus dem Shellscript heraus aufrufen müssen unter Nennung des Kommando-Interpreters (also PHP).
    Das würde er dann nacheinander machen, also ein Script nach dem anderen. Es muss also immer erst eines fertig sein, bis das nächste gestartet wird. Alternativ kann man die Scripte auch in den Hintergrund stellen. Dann würde das nächste schon gestartet werden, bevor das vorhergehende überhaupt fertig war. Geht natürlich nur, wenn sie nicht aufeinander aufbauen oder dieselben Ressourcen benötigen.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau