Wer kennt sich mit Raspbian/Linux aus? Der Raspberry Pi startet, bootet und holt sich Datum/Zeit von einem Zeitserver. Das geht meistens ruck-zuck, kann aber hin und wieder rund 10 Sekunden dauern. Wie kann ich in einem Pythonskript - das automatisch gestartet wird - prüfen, ob Datum/Zeit vom Zeitserver bereits "eingetroffen" sind?
Ich glaube, das könnte helfen: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s1-checking_the_status_of_ntp
Stefan U. schrieb: > Ich glaube, das könnte helfen: > https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s1-checking_the_status_of_ntp Die Befehle kennt Raspbian nicht :(
1 | pi@raspberrypi:~$ ntpq -p |
2 | -bash: ntpq: command not found |
3 | pi@raspberrypi:~$ chkconfig --list ntpd |
4 | -bash: chkconfig: command not found |
5 | pi@raspberrypi:~$ |
Karl schrieb: > Stefan U. schrieb: > >> Ich glaube, das könnte helfen: >> > https://access.redhat.com/documentation/en-us/red_... > > Die Befehle kennt Raspbian nicht :( > pi@raspberrypi:~$ ntpq -p > -bash: ntpq: command not found > pi@raspberrypi:~$ chkconfig --list ntpd > -bash: chkconfig: command not found > pi@raspberrypi:~$ Das funktioniert auch nur, wenn Du selber einen NTP-Server betreibst. Am einfachsten ergänzt Du das Startscript um eine Ausgabe des Timestamps bei Erfolg in eine Datei. Die kannst Du dann prüfen.
long don schrieb: > Das funktioniert auch nur, wenn Du selber einen NTP-Server betreibst. > Am einfachsten ergänzt Du das Startscript um eine Ausgabe des Timestamps > bei Erfolg in eine Datei. Die kannst Du dann prüfen. Wie heißt das Startscript und wo finde ich es?
1 | ntpdate -s <zeitserver> |
2 | echo "$?" >/tmp/timesync.dat |
im pythonscript prüfen ob die datei /tmp/timesync.dat existiert, und ob sie einen wert !=0 enthält. am besten in einer loop mit max x durchgängen und einem delay dazwischen.
c.m. schrieb: >
1 | > ntpdate -s <zeitserver> |
2 | > echo "$?" >/tmp/timesync.dat |
3 | > |
> im pythonscript prüfen ob die datei /tmp/timesync.dat existiert, und ob > sie einen wert !=0 enthält. > am besten in einer loop mit max x durchgängen und einem delay > dazwischen. Funktioniert ebenfalls nicht.
1 | pi@raspberrypi:~$ ntpdate |
2 | -bash: ntpdate: command not found |
Karl schrieb: > c.m. schrieb: >>> ntpdate -s <zeitserver> >> echo "$?" >/tmp/timesync.dat >> > im pythonscript prüfen ob die datei /tmp/timesync.dat existiert, und ob >> sie einen wert !=0 enthält. >> am besten in einer loop mit max x durchgängen und einem delay >> dazwischen. > > Funktioniert ebenfalls nicht. > pi@raspberrypi:~$ ntpdate > -bash: ntpdate: command not found ich setze vorraus, dass du von alleine drauf kommst openntpd zu installieren.
Karl schrieb: > Wer kennt sich mit Raspbian/Linux aus? > > Der Raspberry Pi startet, bootet und holt sich Datum/Zeit von einem > Zeitserver. Das geht meistens ruck-zuck, kann aber hin und wieder rund > 10 Sekunden dauern. > > Wie kann ich in einem Pythonskript - das automatisch gestartet wird - > prüfen, ob Datum/Zeit vom Zeitserver bereits "eingetroffen" sind? Wenn der Pi startet, startet die Uhr am 01.01.1970 um 0 Uhr UTC (https://de.wikipedia.org/wiki/Unixzeit) Mein Ansatz wäre nun, mit deinem Python-Script die aktuelle Uhrzeit des Pi abzufragen, und wenn diese vor 1980 liegt, anzunehmen, dass der Rechner noch keine Uhrzeit aus dem Netz bekommen hat. MfG, Arno
Arno schrieb: > Wenn der Pi startet, startet die Uhr am 01.01.1970 um 0 Uhr UTC > (https://de.wikipedia.org/wiki/Unixzeit) Das ist bei meinem Raspberry Pi B mit dem aktuellen jungfräulichen Rasbian nicht der Fall. ----- Bitte den Thread als geschlossen betrachten. Weitere Antworten werde ich nicht beachten. Hier vergeude ich nur meine Zeit. Jede Antwort die ich hier bekommen habe ist eine Zumutung.
Karl schrieb: > Funktioniert ebenfalls nicht.pi@raspberrypi:~$ ntpdate > -bash: ntpdate: command not found Dann installiere es doch:
1 | sudo apt-get install ntpdate |
Oder stellst Du Dich mit Absicht dümmer an, als Du bist? Als Linux-User sollte man wenigstens wissen, wie man ein Standard-Programm installiert. Karl schrieb: > Das ist bei meinem Raspberry Pi B mit dem aktuellen jungfräulichen > Rasbian nicht der Fall. Sondern? Vielleicht 01.01.2000? Warum unterdrückst Du diese Information? Die Antwort mit >1980 ist durchaus auf andere Jahreszahlen transponierbar - auch wenn man nicht der hellste ist. Dann prüf halt, ob das Datum >= 2018 ist. Weia. Karl schrieb: > Jede Antwort die ich hier bekommen habe ist eine Zumutung. Die Antworten waren durchaus praxisgerecht und auch durchführbar. Dein Umgang mit den Antworten ist eher eine Zumutung.
:
Bearbeitet durch Moderator
> > Bitte den Thread als geschlossen betrachten. Weitere Antworten werde ich > nicht beachten. Hier vergeude ich nur meine Zeit. Jede Antwort die ich > hier bekommen habe ist eine Zumutung. Bitte sehr. Gerngeschehen. Danke. Der Nächste bitte. Beitrag "(Warum) ist das Forum (so) anfängerfeindlich?"
> Mein Ansatz wäre nun, mit deinem Python-Script die aktuelle Uhrzeit des > Pi abzufragen, und wenn diese vor 1980 liegt, anzunehmen, dass der > Rechner noch keine Uhrzeit aus dem Netz bekommen hat. Finde ich gut, ein simpler Ansatz.
Ich kenne jetzt das Raspbian nicht, aber wenn das mittlerweile auch systemd nutzt, dann geht das mit
1 | timedatectl
|
Dort steht dann explizit, ob schon synchronisiert wurde.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.