cronjob

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • [font="Times New Roman"]Hallo zusammen,[/font]

    [font="Times New Roman"]versuche alle 5 min ein PHP Programm mit CRONJOB aufzurufen.[/font]
    [code=php]
    ?php
    $temp = exec('cat /sys/bus/w1/devices/10-0008009e3229/w1_slave |grep t=');
    $temp = explode('t=',$temp);
    $temp = $temp[1] / 1000;
    $temp1 = round($temp,2);
    echo $temp1 . " &#x00B0;C <br><br>";

    $temp = exec('cat /sys/bus/w1/devices/10-0008022ddcb1/w1_slave |grep t=');
    $temp = explode('t=',$temp);
    $temp = $temp[1] / 1000;
    $temp2 = round($temp,2);
    echo $temp2 . " &#x00B0;C <br><br>";

    $temp = exec('cat /sys/bus/w1/devices/10-000802715171/w1_slave |grep t=');
    $temp = explode('t=',$temp);
    $temp = $temp[1] / 1000;
    $temp3 = round($temp,2);
    echo $temp3 . " &#x00B0;C <br><br>";
    $file = 'daten_temperatur';
    $current = file_get_contents($file);
    $current .= date('Y.m.d H:i') ." | ". $temp1 ." | ". $temp2 ." | ". $temp3 ." $
    file_put_contents($file, $current);
    ?>


    [/php]


    [font="Times New Roman"]file_put_contents(daten_temperatur): failed to open stream: Permission denied in /var/www/abc.php[/font]

    [font="Times New Roman"]Ist die Fehlermeldung[/font]
    [font="Times New Roman"]Was muss ich machen damit das Programm ausgeführt wird?[/font]

    [font="Times New Roman"][font="Times New Roman"]Das PHP Programm lauft beim IE!![/font][/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]Danke für die Hilfe[/font]

    Einmal editiert, zuletzt von moby dick (26. Mai 2016 um 16:24)

  • 1. In welche Crontab wird es eingefügt? Exakter befehl sowie exakten Eintrag zeigen!
    2. Manuell über exakt den gleichen Benutzer wie dessen Crontabeintrag ausgeführt? Wenn es manuell nicht geht kann crontab auch nicht zaubern.
    3. Wieso verwendest du ein PHP Script in Crontab um eine offensichtliche Datei mit HTML Inhalt zu erzeugen? Es scheint als wär das für eine Webseite aber wieso ließt diese Webseite die Daten nicht einfach selbst aus?


    1wire.php
    [code=php]
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>1 wire</title>
    </head>
    <body>
    <?php
    // (c) meigrafd 09.2015
    // Temperaturlogging + webserver Problem cronjob
    if (!file_exists("/sys/bus/w1/devices/w1_bus_master1/w1_master_slave_count")) {
    echo "<b>ERROR: w1 Kernel Module not loaded?<br/>modprobe w1-gpio pullup=1<br/>modprobe w1-therm<br/></b>\n";
    } else if (file_get_contents("/sys/bus/w1/devices/w1_bus_master1/w1_master_slave_count") === 0) {
    echo "<b>ERROR: No 1-wire Sensors connected?</b>\n";
    } else {
    $w1_slaves = file("/sys/bus/w1/devices/w1_bus_master1/w1_master_slaves");
    foreach ($w1_slaves AS $slave) {
    $lines = file("/sys/bus/w1/devices/".$slave."/w1_slave");
    if (preg_match("/t=(.*)/", $lines[1], $match)) {
    echo $slave.": ".$match[1]."<br/>\n";
    }
    }
    }
    ?>
    </body>
    </html>
    [/php]

  • [font="Times New Roman"]Ich versuche mit den PHP Code die Temperatur (3 mal) auszulesen und dann in die Text Datei zuschreiben. Die drei Echo $temp sind nur zum Testen ob die Temperatur aus gelesen wurde.[/font]
    [font="Times New Roman"]Das auslesen der Temperatur, das Anzeigen bei Echo und schreiben in die Text zuschreiben lauft per Browser richtig! Das Programm selber ist in Ordnung!![/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]Aber mein Problem ist jetzt - nicht mit CROJOB!!![/font]
    [font="Times New Roman"]Das auslesen der Temperatur ist noch richtig[/font]
    [font="Times New Roman"]Das abspeichern der Text Datei nicht mehr[/font]
    [font="Times New Roman"]Die Fehlermeldung ist:[/font]
    [font="Times New Roman"]file_put_contents(daten_temperatur): failed to open stream: Permission denied in /var/www/abc.php[/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]Was ist der Grund da für? Im Browser alles OK! Aber mit CROJOB nicht![/font]

  • Als erstes solltes du

    Code
    $file = 'daten_temperatur';

    ändern, damit ein absoluter Pfad angegeben ist. z.B.

    Code
    $file = '/var/www/daten_temperatur';

    Dann wäre noch zu klären wie Du den Cron-Job definiert hast (/etc/crontab, sudo crontab -e, crontab -e [als user pi]). Je nachdem müsstest Du die Dateirechte anpassen.

    Anfragen ausserhalb des Forums (Mail o.ä.) werden ignoriert!

  • [font="Times New Roman"]ich habe jetzt[/font]
    [font="Times New Roman"]$file = '/var/www/daten_temperatur';[/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]mit Browser[/font]
    [font="Times New Roman"]http://192.168.1.7/abc.php[/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]alles OK![/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]mit Cron-Job[/font]
    [font="Times New Roman"]pi@raspberrypi /etc $ sudo nano crontab[/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]und in crontab selber[/font]
    [font="Times New Roman"]/1 * * * * pi /var/www/abc.php[/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]wird nicht ausgeführt!!! :helpnew: [/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"] [/font]
    [font="Times New Roman"]-rwxr-xr-x 1 root www-data  789 Mai 27 10:43 abc.php[/font]
    [font="Times New Roman"]-rwxr-xr-x 1 www-data www-data 41 Mai 27 10:51 daten_temperatur[/font]
    [font="Times New Roman"]-rw-r--r-- 1 www-data www-data 177 Mär 17 07:53 index.html[/font]
    [font="Times New Roman"]-rw-r--r-- 1 www-data www-data 21 Mär 17 08:02 phpinfo.php[/font]
    [font="Times New Roman"]drwxr-sr-x 8 pi www-data 4096 Mai 12 07:25 pilight[/font]
    [font="Times New Roman"]drwxr-sr-x 3 pi www-data 4096 Apr  9 13:35 ws[/font]


    [font="Times New Roman"][font="Times New Roman"]Frage:[/font]
    [/font]
    [font="Times New Roman"]abc.php hat root[/font]

    [font="Times New Roman"]und[/font]

    [font="Times New Roman"]daten_temperatur hat www-data[/font]

    [font="Times New Roman"] [/font]
    [font="Times New Roman"][font="Times New Roman"]???? kann das Richtig sein - warum das so jetzt ist frage mich nicht LOL[/font]
    [/font]

    Einmal editiert, zuletzt von moby dick (27. Mai 2016 um 13:09)

Jetzt mitmachen!

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