Seite 1 von 1

Zeit setzen

Verfasst: Fr 29. Jun 2018, 12:26
von PCFreak
Hallo Stefan,

kann es sein, dass im Code der admin.php zum Setzen der Uhrzeit ein Fehler ist. Ich habe heute einfach mal versucht die Möglichkeit zu nutzen, die Uhrzeit über das Webinterface zu setzen. Natürlich musste ich ersteinmal wieder das Thema mit sudo usw. lösen, aber das ist nicht das Thema dieses Posts.

Ich habe festgestellt, dass die Variable $txt das Datum in der Form "MMDDHHMMYY" enthält.

Zum Setzen des Datums unter Linux müsste es aber das Format "MM/DD/YYYY HH:MM:SS" oder mindestens "MM/DD/YYYY HH:MM" haben.

Nachdem ich das gefixt hatte

Code: Alles auswählen

# vorher
$txt = sprintf("%02d", $month) .  sprintf("%02d", $day) .  sprintf("%02d", $hour) .  sprintf("%02d", $min) . $year = substr($year, -2);;
? Warum sind da zwei Strichpunkte am Ende?

Code: Alles auswählen

$txt = sprintf("%02d", $month) .  "/" . sprintf("%02d", $day) . "/" . $year . " " .  sprintf("%02d", $hour) . ":" .  sprintf("%02d", $min);
! String umgebaut auf"MM/DD/YYYY HH:MM"

ging es immer noch nicht.

Wenn ich das PHP richtig interpretiere rufst du mit

Code: Alles auswählen

$cmd = "date \"$txt\"";
shell_exec($cmd . " > /dev/null &");
den Linux Befehl date mit Parameter $txt auf, was dann ergibt:

Code: Alles auswählen

date "MM/DD/YYYY HH:MM"
Unter Linux wird das Datum aber gesetzt mit dem Übergabeparameter "-s", es muss also heißen:

Code: Alles auswählen

date -s "MM/DD/YYYY HH:MM"
ergo dann:

Code: Alles auswählen

$cmd = "date -s \"$txt\"";
shell_exec($cmd . " > /dev/null &");
Kann es sein, dass hier ein Fehler vorliegt?

Natürlich wäre hier auch ein sudo besser, aber das ist eine andere Geschichte.

Ggf. müsste der Code auch noch geprüft werden, ob der Datumsstring abhängig von der SYSTEM_LOCALE des Systems umgebaut werden müsste.

Kein schlimmes Problem, da der Server ja die Uhrzeit von einem NTP-Server holen sollte aber beim Testbetrieb auf einem Raspberry Pi ohne Internet würde der Zeitabgelich schon helfen.

Gruß und Danke fürs Lesen

Peter

Re: Zeit setzen

Verfasst: Sa 7. Jul 2018, 12:36
von pichel
Hallo Peter,

sorry für die verspätete Antwort.

Bisher hatte der Aufruf mit der Syntax wunderbar auf einem Raspi mit Raspbian funktioniert. Aber ich schaue es mir demnächst nochmal an, vielleicht sollte ein Admin den Aufruf konfigurieren können. Auch bzgl.der Rechte kann man das auf jeden Fall optimieren.

Gruß,

Stefan