Wie wird die Zeit auf einem Raspberry Pi mit der neuesten Raspbian-Version gehalten? Was stellt die interne Uhr von einem NTP-Server ein? Was passiert, wenn kein NTP-Server verfügbar ist?
In meinem Programm versuche ich festzustellen, ob die Uhrzeit über NTP eingestellt wurde, und fordere den Benutzer auf, sie einzustellen, falls dies nicht der Fall ist.
timekeeping
ntp
Kerl
quelle
quelle
Antworten:
Raspbian bietet zwei Softwarelösungen für die Zeitmessung an. Da NTP eine Netzwerkverbindung erfordert und es ziemlich nutzlos ist, wenn Ihr Raspberry Pi nicht mit dem Netzwerk verbunden ist, verwendet es auch eine gefälschte Uhr . Es speichert die aktuelle Uhr in regelmäßigen Abständen und lädt sie beim Start.
Dies ist nicht zu genau, beseitigt jedoch das Problem, dass die Zeit nach jedem Neustart auf 1970 zurückgeht.
quelle
Sie können NTP-Statistiken protokollieren und anschließend Protokolle aus Ihrem Programm analysieren.
Die Einstellungen des NTP-Dämons werden in einer Datei gespeichert
/etc/ntp.conf
. Kommentarzeile mit Direktivestatsdir
zum Aktivieren der NTP-Statistikprotokollierung. Stellen Sie sicher, dass das referenzierte Verzeichnis vorhanden und für den Benutzer beschreibbar istntpd
.quelle
Um zu überprüfen, ob die Zeit von einem NTP-Server eingestellt wurde, können Sie versuchen, ntpq -p zu verwenden. Sie erhalten ungefähr Folgendes *:
Die 'Reichweite' wird in einer Reihe> 0 sein, wenn der NTP-Server erreicht wurde und somit die Zeit eingestellt wurde. Es ist ein 8-Bit-Oktal, das entlang gleitet, dh 0,1,3,7,17,37,77,177,377
Oder dies - Sie könnten 'stratum' <16 oder sync_ntp (dies ist offensichtlich nicht auf RPi)
Alternativ (ich denke ntpstat ist nicht sofort auf RPi verfügbar)
und benutze auch die hier erklärten Exit-Codes http://www.cyberciti.biz/faq/linux-unix-bsd-is-ntp-client-working/ zugegebenermaßen nicht RPi-spezifisch ...
* Zeitserveradressen sind nicht echt
quelle
Die Zeitmessung ist alles in Software. Ohne Verwendung von NTP findet keine Zeitmessung statt.
Wenn Sie überprüfen möchten, ob die Uhr eingestellt wurde, überprüfen Sie mit, ob die
date
Unix-Epoche angezeigt wird. Dies ist die Standardeinstellung des Pi.quelle
fake-hwclock
, wird es wahrscheinlich nicht auf Arch sein. Klingt wie die Art von Flusen, die Arch ignoriert.