Hallo,
auf meinem Rechner laufen neben cron auch mysql und apache2 mit php. Die
Zeit des Rechners ist auf UTC eingestellt. Mittels eines php-Skriptes
frage ich die Werte von sensors, hddtemp ("netcat localhost 7634" <-
Danke für diesen Tipp) und apcaccess und schreibe diese in eine
MySQL-DB. Von dort wird sie später weiterverarbeitet.
Nun zu meinem Problem:
Wenn ich das Skript über den Browser (also von Hand) aufrufe, ist die
Zeit korrekt. Immerhin habe ich auch unter /etc/php5/apache2/php.ini den
Wert "date.timezone = 'Europe/Berlin'" gesetzt. Auch andere Zeitabfragen
in php gehen richtig. Es soll aber automatisiert werden.
Also habe ich mit crontab -e folgende Zeile eingefügt:
# mm hh DD MM dow command
*/10 * * * * /usr/bin/php /srv/www/htdocs/hdd_temp/temp_cron.php
Das Skript [1] wird aufgerufen und trägt mir fleißig die Werte aller 10
min. ein. Allerdings wird hier statt die _richtige_ Zeit entsprechend
meines Zoneneintrages komischer Weise die _falsche_ UTC-Zeit (also 2h
zurück) eingetragen.
Ich habe dann aus lauter Verzweiflung in crontab eine Zeile "touch
/tmp/test.zeit" eingetragen. Der Zeitstempel der Datei passt.
Kann mir da jemand einen Tipp geben, wieso php die falsche Zeit hat?
Gruß & Dank, Alex
[1] temp_cron.php
<?php
include 'db_connect.inc.php';
$datum = date("Y-m-d H:i:s");
$coretemp = exec("/usr/bin/sensors | grep \"temp1\" | awk '{ print $2 }'
| tr -d \"+\" | tr -d \"°C\"");
$hddtemp = exec("netcat localhost 7634");
$usvtemp = exec("/usr/sbin/apcaccess | grep TIMELEFT");
$hdd_tmp = explode("|", $hddtemp);
$hdd_1 = $hdd_tmp[3];
$hdd_2 = $hdd_tmp[8];
$core = substr($coretemp, 0, 4);
$usv_tmp = explode(" ", $usvtemp);
$usv = $usv_tmp[3];
$sql = "INSERT INTO temperatur (datum,core,hdd_1,hdd_2,usv) VALUES
('$datum',$core,$hdd_1,$hdd_2,$usv);";
echo $datum.'<br />';
echo $core.'<br />';
echo $hdd_1.'<br />';
echo $hdd_2.'<br />';
echo $usv.'<br />';
mysql_query($sql) or die (mysql_error());
mysql_close();
?>
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe(a)opensuse.org
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+owner(a)opensuse.org