andi: Cronjob mit Vserver

Hallo zusammen,

ich möchte gerne eine PHP Datei jede 15 Minuten mithilfe eines Cronjobs aufrufen lassen.
Ich nutze einen VServer mit Plesk, dort kann ich theoretisch bequem einen Cronjob einrichten nur leider weiss ich nicht wie!
Die Zeitangabe kann ich dort einstellen, mir fehlt nur der Befehl der die Datei aufruft.
Wenn ich nur den Serverpfad oder nur die www-Adresse angebe passiert nichts.

Es gibt doch bestimmt jemanden der mir helfen kann?!

Vielen Dank im voraus

Andi

  1. hi,

    Es gibt doch bestimmt jemanden der mir helfen kann?!

    Cronjobs laufen auf der Ebene des Dateisystems, meist ohne gesetzte Umgebungsvariablen. Das solltest Du berücksichten, das heißt, auf jeden Fall den vollen Pfad zum Programm angeben und ggf. den Interpreter vornweg (bei Scripts).

    --roro

    1. Hallo roro,

      Cronjobs laufen auf der Ebene des Dateisystems, meist ohne gesetzte Umgebungsvariablen. Das solltest Du berücksichten, das heißt, auf jeden Fall den vollen Pfad zum Programm angeben und ggf. den Interpreter vornweg (bei Scripts).

      Mein PHP-Pfad:    /usr/bin/php
      Meine PHP-Datei:  /srv/www/vhosts/test.de/ordner/cron.php

      Der Cronjob Befehl:
      /usr/bin/php /srv/www/vhosts/test.de/ordner/cron.php

      Geht das schonmal in die richtige Richtung?

      Sorry, aber ich hab von Linux und den Serversachen gar keine Ahnung.

      Andi

      1. hi Andi,

        Cronjobs laufen auf der Ebene des Dateisystems, meist ohne gesetzte Umgebungsvariablen. Das solltest Du berücksichten, das heißt, auf jeden Fall den vollen Pfad zum Programm angeben und ggf. den Interpreter vornweg (bei Scripts).

        Mein PHP-Pfad:    /usr/bin/php
        Meine PHP-Datei:  /srv/www/vhosts/test.de/ordner/cron.php

        Der Cronjob Befehl:
        /usr/bin/php /srv/www/vhosts/test.de/ordner/cron.php

        Geht das schonmal in die richtige Richtung?

        Na klar hunnert pro! Zum Testen die letzte Zeile mal eintippen und schauen was passiert.

        -roro

        1. Der Befehl:
          /usr/bin/php /srv/www/vhosts/test.de/ordner/cron.php
          funktioniert leider nicht.
          Ich habe eingestellt das er die Datei jede minute öffnen soll, nur leider passiert nichts.
          Am Php-Script selbst sollte es nicht liegen da er meine Datenbanken aktualisiert wenn ich es per Hand öffne.

          Bei den vorgefertigten Crontabs steht am Ende immer: >/dev/null 2>&1
          Was hat das zu bedeuten?
          Habs einfach mal mit hinter den Befehl geschrieben, hilft aber auch nicht!

          Habe auch schon etliche Seiten durchsucht aber ich finde immer nur Anleitungen für die Zeitangaben, nicht aber für die eigentlichen Befehle.

          Für weitere Ideen wäre ich sehr dankbar

          Gruß, Andi

          1. hi,

            Der Befehl:
            /usr/bin/php /srv/www/vhosts/test.de/ordner/cron.php
            funktioniert leider nicht.
            Ich habe eingestellt das er die Datei jede minute öffnen soll, nur leider passiert nichts.
            Am Php-Script selbst sollte es nicht liegen da er meine Datenbanken aktualisiert wenn ich es per Hand öffne.

            Bei den vorgefertigten Crontabs steht am Ende immer: >/dev/null 2>&1
            Was hat das zu bedeuten?

            echo "Dies ist eine Ausgabe auf stdout." >&1
            echo "Dies ist eine Ausgabe auf stderr." >&2

            http://www.thomashertweck.de/redir.html

            Habs einfach mal mit hinter den Befehl geschrieben, hilft aber auch nicht!

            Es hilft, wenn Du diese Umleitungen weglässt zum Testen, vorausgesetzt, Dein Script gibt per echo auch mal was aus, was es gerade tut.

            --roro

            1. Hallo,

              wo kann ich denn sehen ob php-cli installiert ist?

              Mein script aktualisiert nur meine Mysql-Datenbank, diese wird auf einer anderen Seite teilweise wieder ausgegeben. Ist ja quasi wie echo

              Habe gerade bei meinem Provider angerufen aber der verweist mich auf die Plesk-Dokumentation. In dieser wird aber wie in allen anderen Anleitungen auch, nicht beschrieben wie ich eine simple PHP-Datei öffnen lassen kann, sondern nur die Zeitangaben.

              VServer sind doch so am boomen, hat den noch niemand versucht einen Crontab mit Plesk(8.0.1) zu erstellen?

              Andi

              1. Hast du mal versucht
                php /srv/www/vhosts/test.de/ordner/cron.php
                über Putty zu starten?

                Gruß

                Krueger

                1. Hi,

                  Hast du mal versucht
                  php /srv/www/vhosts/test.de/ordner/cron.php
                  über Putty zu starten?

                  das erste mal das ich mit ssh was mache :)

                  Ja es funktioniert, die Datenbanken werden aktualisiert.
                  Wenn ich genau den selben befehl als Cronjob angebe funktioniert es aber nicht.
                  Kann ich den Cronjob nicht manuell über ssh setzen?

                  Noch ein Frage:
                  Wenn ich bei Minute */1 (der Rest nur *) angebe, heisst das dann das er den Cronjob jede minute ausführt?
                  Oder muss ich jede minute einzeln schreiben!?

                  Vielen Dank für eure Hilfe (und euer Verständnis ;) )

                  Andi

                  1. Juchuu,

                    es klappt jetzt

                    Ich mußte zusätzlich zu dem Crontab auf der Verwaltungsoberfläsche von Plesk, nur noch in der Php-Datei den Pfad zu php angeben:

                    #! /usr/bin/php
                    <?php
                    echo "bla bla";
                    ?>

                    Und flupp, es klappt :)

                    Velen Dank für eure Mithilfe,

                    Andi

          2. Für weitere Ideen wäre ich sehr dankbar

            Nur so eine vage Idee: hast du php-cli installiert? Wenn nicht, dann mach es mal.

            Gruß

            Krueger