php Script per Cron Job ausführen

  • Hallo wertes Forum

    ich hab nun schon ne Menge gelesen, bin ja immer noch ein schlimmer Linux Stümper, aber versuchen möchte ich ja doch alles mögliche.

    Ich hab an meinen Raspberrypi ein Funkmodul angeschlossen und kann damit über eine Webseite meine Funksteckdosen steuern, was wirklich gut, auch mit etwas Hilfe aus dem Forum, funktioniert.

    PHP und MYSQL klappt ganz gut, nu will ich aber über einen CronJob eine php Datei ausführen.
    Hab mir nun aus einigen Einträgen die Schnipsel hier zusammen gesucht, aber es tut einfach nicht.

    Das Script sieht aktuell so aus

    Code
    <?PHP
      shell_exec('send '. '11111 3 1');
    ?>

    Das Script funktioniert per Webseite und auch über

    Code
    root@raspberrypi:/home/pi# /usr/bin/php /var/www/php_cron.php

    ich habe das Script per

    Code
    root@raspberrypi:/home/pi# chmod +x /var/www/php_cron.php

    ausführbar gemacht.

    über crontab -e habe ich dort folgende Zeile eingefügt

    Code
    * * * * * /usr/bin/php /var/www/php_cron.php

    Wenn ich nun aber warte, dann tut sich da gar nix.
    Ich steuere damit eine Steckdose an, die die Lichterkette an meinen Weihnachtsbaum einschaltet. Den sehe ich vom Fenster aus :)
    Leider tut der nix, bitte dringend um Hilfe.
    Nachher möchte ich per Datenbankeinträge jede Minute oder vielleicht alle 5 Minuten abfragen was eingeschaltet werden soll.

    Vielen Dank und schöne Weihnachten Euch allen
    Andreas

  • Hallo MrBecks

    das WGET funktioniert, coole Sache, vielen Dank und noch schöne Weihnachten.

    Tell:
    1. weil ichs cool finde
    2. weil ich mit PHP besser auskenne als mit jeder anderen Sprache
    3. weil es mein Design ist
    4. habe ich oben geschrieben

    Dankeschee

    Andreas

  • Naja deine Punkte 1 bis 4 treffen ja nun auch nicht mehr zu da du wget benutzt, was ja eigentlich auch nicht Sinn deines Anliegens ist da nun die Verarbeitung vom Webserver übernommen wird... Mal davon abgesehen das du dir in der Form dein System und logfiles zumüllst (wenn dann sollte die wget-Syntax anders aussehen)

    Führ das Script also mal genau so wie du es in Crontab eingetragen hast, manuell aus - dann wirst du sehen das auch das nicht funktioniert...

    Dann prüfst du am besten mal die Syntax die der Konsolen Befehl /usr/bin/php erwartet denn das ist die CLI Version von PHP: Das tust du am einfachsten mit dem Parameter " --help " oder indem du die Manual Page betrachtest: man php (das bieten 90% aller Konsolen Befehle) ... Anschliesend wirst du hoffentlich bemerken das man einen bestimmten Parameter nutzen muss um über die CLI Version von PHP ein File zu verarbeiten (Parse) und auszuführen (execute)


    Und zum Punkt "ausführbar gemacht" -> das bringt in diesem Fall garnix da in dem Script kein Interpreter eingetragen ist (also in der ersten Zeile der Shebang), sondern die Datei direkt an den Interpreter (/usr/bin/php) übergeben wird...

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!