Cronjob mit PHP erstellen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Guten Tag,
    ich wollte mir einen einfachen Wecker mit Python programmieren und über ein PHP Script kann man die Zeit einstellen. Jetzt habe ich beide Scripte nur, das PHP Script erstellt kein Cronjob. Ich vermute das es daran liegt das der Webserver wie so oft keine Rechte hat.

    Ich hoff mir kann jemand helfen.
    Danke schon mal im Voraus.

    PHP
    <?php
    //ohne eingestellte Zeit. Nur erstellen eines Cronjobs
    exec('echo " 00 6 * * * sudo /usr/bin/python /home/pi/Programme/goodMorning.py" | crontab -');
    echo "Musik ist an";
    ?>
  • Zitat

    nur, das PHP Script erstellt kein Cronjob

    Wird dein PHP-Script denn auch aufgerufen? Denn ohne es aufzurufen, kann kein "cronjob" erstellt werden (dumme Frage, aber kann ja sein :P)

    Bzw.: werden irgendwelche Fehler ausgegeben?

  • Vermutlich wird das Problem sein, dass der Webserver über den Benutzer www-data läuft, aber keine Zugriffsrechte in andere Benutzerverzeichnisse hat und kein sudo Recht hat - und das ist auch gut so! Es ist extrem unsicher und riskant dem Webserver sudo Rechte zu geben!

    Das aus meiner Sicht einfachste wäre, nicht jedes mal crontab selbst zu ändern, sondern einfach nur ein Script einzutragen was jede Minute aufgerufen wird. Dieses eine Script holt sich dann die benötigte Daten und weckt dich dann ;)

    Beispiel:

    Code
    sudo crontab -e

    um das Script in die Crontab des root Benutzers einzutragen

    Code
    * * * * * /usr/bin/php /var/www/cronbot.php cron >/dev/null 2>&1

    Das Argument kann man optional nutzen sofern man die Datei auch über den Browser öffnen will, um die Weckzeiten anzuzeigen...

    /var/www/cronbot.php
    [code=php]
    <?php
    error_reporting(0);
    set_time_limit(0);

    $HOUR = date("H");
    $MINUTE = date("i");
    $DAY = date("d");
    $MONTH = date("m");

    if (!empty($argv[1]) AND $argv[1] == "cron") {
    // ...daten aus der Datenbank holen usw
    }

    ?>
    [/php]


    //EDIT: Guck mal hier: https://www.forum-raspberrypi.de/Thread-php-wecker

  • Dieser Thread ist jetzt zwar schon 4 Monate vergangen aber ich habe das selbe Problem und Hoffe das dass noch jemand liest. Aus welchem Grund auch immer funktioniert der script bei mir nämlich nicht. Muss ich in der php.ini irgendwie register_argc_argv
    aktivieren? Kann mir da jemand helfen? Ich benutze PHP version 5.6.2 .

Jetzt mitmachen!

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