cronjob

  • Hallo zusammen, ich habe vor einen Cronjob zu erstellen und habe diesbezüglich noch ein paar fragen.

    Produkt:

    Hosting3381 - Expert L de a1 (af923)


    Ich möchte das ein script alle 5 Sekunden ausgeführt wird.

    Wo wird der Cronjob gespeichert? Auch einfach in dem httpdocs Ordner?

    Muss der Ordner mit dem Cronjob Befehl eine .php Endung haben?


    5 * * * * http://hosting33(.......)3.netcup.net/cronjob_test.php


    Die Parameter am Anfang sind die für Die Zyklen zuständig.

    Und danach kommt die Adresse die ausgeführt werden soll. Muss die Adresse so angegeben werden als würde ich sie im Browser aufrufen?


    Sorry für diese Anfängerfrage :p

  • Ich möchte das ein script alle 5 Sekunden ausgeführt wird.

    cron arbeitet nur minutengenau - in deinem Bespiel also aller 5min. Da wirst also noch ein Script/Programm zwischenschalten muessen. BIst du sicher, dass dein Script immer innerhalb von 5s beendet wird ? Ueberlappungen können zu sehr "netten" Effekten führen ;)

    Zum Scriptaufruf: mit http... kann das nicht funktionieren, dass müsste in der Form php -f pfad_zu_cronjob_test.php erfolgen ...

    Ohne den Inhalt des Scripts zu kennen: vermutlich ist es besser, da nen Wrapper drum zu haben, den sonst hast du den Output vom Script ev. nur in einer Mail vom cron ...

    Gruss

  • Also eigendlich will ich das das Script alle 24h ausgeführt wird, aber aus testzwecken halt erstmal mit einer geringen Zykluszeit.


    Wie meinst du das das sie nur über das WCP zu erstellen sind?


    schon mal danke für eure Antworten :)

  • thys Also ich habe den Pfad mit <?php echo $_SERVER["DOCUMENT_ROOT"] ?> ermittelt. Ist das der richtige Befehl um ihn zu ermitteln?


    Sieht dann so aus: /var/www/vhosts/hostin(............)cup.net/httpdocs


  • ok, in dem Fall kannst du halt auf eine Minute als kürzeste Zeit gehen. Auch wenn die zum Testen verda..... lang sein kann :-)))

    Hinsichtlich Erstellung/WCP kann ich nichts sagen - ich gehe immer über die Shell, sind natürlich auch Server ;) Hosting hab ich nicht - insofern k.A.
    Gruss ...

  • So ich habe es in der WCP gefunden und habe es eingericht.

    Bekomme aber jetzt diesen Fehler meiner email zugeschickt:


    /httpdocs/cronjob_test.php: line 1: ?php: No such file or directory

    /httpdocs/cronjob_test.php: line 2: =: command not found

    /httpdocs/cronjob_test.php: line 3: =: command not found

    /httpdocs/cronjob_test.php: line 4: =: command not found

    /httpdocs/cronjob_test.php: line 5: =: command not found

    /httpdocs/cronjob_test.php: line 8: =Dennis: command not found

    /httpdocs/cronjob_test.php: line 9: =0: command not found

    /httpdocs/cronjob_test.php: line 13: syntax error near unexpected token `('

    /httpdocs/cronjob_test.php: line 13: `$conn = new mysqli($servername, $un, $pw, $dbname);'



    Script:

    Wenn ich das script im Browser öffne Funktioert alles wie gewollt.

  • nun, cron sucht unter /httpdocs - als ab root-Verzeichnis. Da ich die Struktur und das Script nicht kenne, zwei Ansätze:

    - im cron-Aufruf den absoluten Pfad benutzen, wie du ihn oben angeben hast (d.h. auch im Script muss dann #!/usr/bin/php stehen (oder wo auch immer php liegt) In dieser Variante funktionierts dann im Browser nicht mehr, denke ich))

    - im cronjob mit wget arbeiten, dann bist du conform mit dem Browser:

    1 * * * * wget -o ausgabefile http:// (Link aus Browser verwenden)

    Alternativ geht sicher auch curl, lynx ...

    Gruss

  • Ja, Stichwort "HTTP Auth". Dem wget Aufruf gibst Du nach dem :// und vor dem Hostnamen dann noch " username:password@" mit auf den Weg, sobald Du die .htaccess entsprechend eingerichtet hast.

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)