Raspbian, Linux: aktuelles Datum prüfen

Gast #5342203
Lesenswert?

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?
Gast #5342236
Lesenswert?

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.
Gast #5342271
Lesenswert?

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.
Gast #5342309
Lesenswert?

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
Gast #5342320
Lesenswert?

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.
Gast #5342325
Lesenswert?

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
Gast #5342344
Lesenswert?

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.
Moderator Persönliche Seite #5342352
Lesenswert?

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.
Gast #5342421
Lesenswert?

> 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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren