jede stunde ein php skript ausfüchren?

  • hallo
    wie kann ich es machen, das zu jeder vollen stunde eine php-datei ausgeführt wird, auch wenn niemand auf der seite ist??

    [COLOR="Magenta"]
    (\__/)
    (O.o )
    (> < )
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!

  • kann ich so einen cronjob auch selber machen, ohne mich irgendwo anzumelden?(wenn ja, kann mir dann mal einer erklären wie ich das machen muss?) oder kann man das nur sehr schwer machen?

    [COLOR="Magenta"]
    (\__/)
    (O.o )
    (> < )
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!

  • Dafür benötigst Du einen Linuxserver. Auf diesem Server liegt eine Datei, in der steht, welche Skripte wann ausgeführt werden sollen. Der Cron Daemon führt diese dann aus.


    Natürlich könntest Du Dir auch lokal ein Programm schreiben, das stündlich Deine Internetseite aufruft. Dann muss aber Dein Rechner rund um die Uhr an sein.

    class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
    public function __construct(){ if(!$this) die(' '); } }
    http://www.thedailywtf.com/

  • ist mir egal ob der immer an sein müsste.
    ich hab aber kein linux.
    hab windows.
    kannst du mir mal sagen wie dieses programm aussehen müsste?

    [COLOR="Magenta"]
    (\__/)
    (O.o )
    (> < )
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!

  • Zitat von ToDoWaldi


    kannst du mir mal sagen wie dieses programm aussehen müsste?


    Dein Rechner muss einen Zugriff auf das Internet erlauben. Das Programm muss dann nur deinen gewünschten Cronjob über http://deineDomain.tld/deinFile.php aufrufen.


    Sowas sollte mit fast jeder Skript- oder Programmiersprache möglich sein.


    Bei Cronserver zahlst Du nur 1.49 EUR. Ich denke das ist vielleicht sogar günstiger als es lokal laufen zu lassen?

    class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
    public function __construct(){ if(!$this) die(' '); } }
    http://www.thedailywtf.com/

  • ne ich will mich da nirgends anmelden..
    ich will das lieber selber machen.
    aber ich hab dich jetzt nicht verstanden.
    kannst du mir mal so ein programm machen??
    kann man das in php machen?

    [COLOR="Magenta"]
    (\__/)
    (O.o )
    (> < )
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!

  • Hast Du root-Zugang??


    Ja:
    dann braucht man kein extra Programm schreiben, sondern macht einen Eintrag in die crontab.


    Nein:
    *) Dann solltest Du Dich bei cron-server.de oder ähnlichem Dienst ( z.B. http://www.jgs-xa.de/ ) anmelden...
    *) Such Dir nen neuen Hoster mit Cronjobs...


    Ein eigenes Programm zu schreiben für einen Rechner, wo Du vielleicht "nur" Perl und/oder PHP hast ist meistens sinnlos, weil es eine Laufzeitbeschränkung für Skripte gibt. Kann man zwar umgehen, wird von Hostern aber nicht gern gesehen...

  • Jetz nur mal was ganz anderes:
    Falls es mmit cronjob absolut nicht möglich sein sollte, kannst du sowas auch nach Besucher machen.
    Du schreibt eine Uhrzeit z.B. in ne DB. Bei jedem Zugriff auf die Seite vergleicht du die aktuelle Uhrzeit mit der in der DB und falls mehr als 60min vorbei sind, dann lässt du dein Script ablaufen und schreibt ne neue Uhrzeit in die DB.


    Natürlich ist Cronjob viel eleganter, nur manchmal ist das Script auch nur nötig, wenn Besucher auf der Seite sind...

  • Zitat

    nur manchmal ist das Script auch nur nötig, wenn Besucher auf der Seite sind...


    Im Zusammenhang mit Websites sogar meistens, denke ich.


    Sina hat völlig recht: Sattle das Pferd mal von hinten auf und erkläre, was da überhaupt stündlich erledigt werden soll. Wenn die Folgen dieser Aktion nämlich nur dann "nach aussen hin" bemerktbar werden, wenn jemand deine Seite aufruft, dann reicht es auch, wenn sie zu diesem Zeitpunkt ausgeführt wird (und nicht penibel genau zu jeder vollen Stunde).

  • die crontab findest Du unter /etc/crontab


    dort schreibst Du dann folgendes rein:

    Code
    1. 49 * * * * user command


    user musst Du durch den Usernamen ersetzen unter dem das Skript laufen soll
    command musst Du Durch den Skriptaufruf ersetzen


    der Eintrag bedeutet, dass das Skript jede Stunde zur 49. Minute an jedem Tag in jedem Monat unabhängig vom Wochentag gestartet werden soll.


    Man nimmt so krumme Zahlen wie die 49, da dann die Wahrscheinlichkeit, dass viele Skripte gleichzeitig aufgerufen werden, geringer ist.

  • Das ist aber was komplett anderes.. Da geht es ums ausführen von Programmen, beim Cron-Job geht es um das regelmäßige Ausführen von PHP-Scripten auf nem Webserver (Linux)

    Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
    -Dieter Nuhr
    :D