Ich verwende Ubuntu auf einem ARM-basierten eingebetteten System, dem eine batteriegestützte Echtzeituhr fehlt. Die Aufwachzeit ist irgendwo im Jahr 1970. Daher verwende ich den NTP-Dienst, um die Uhrzeit auf die aktuelle Uhrzeit zu aktualisieren.
Ich habe die folgende Zeile hinzugefügt /etc/rc.local Datei:
sudo ntpdate -s time.nist.govNach dem Start dauert es jedoch noch einige Minuten, bis die Uhrzeit aktualisiert ist, in diesem Zeitraum kann ich nicht effektiv arbeiten tar und make.
Wie kann ich eine Uhrenaktualisierung zu einem bestimmten Zeitpunkt erzwingen?
AKTUALISIERUNG 1: Das Folgende (danke an Eric und Stephan) funktioniert einwandfrei über die Befehlszeile, aktualisiert die Uhr jedoch nicht, wenn sie eingegeben wird /etc/rc.local:
$ date ; sudo service ntp stop ; sudo ntpdate -s time.nist.gov ; sudo service ntp start ; dateThu Jan 1 00:00:58 UTC 1970 * Stopping NTP server ntpd [ OK ] * Starting NTP server [ OK ] Thu Feb 14 18:52:21 UTC 2013Was mache ich falsch?
AKTUALISIERUNG 2: Ich habe versucht, den wenigen Vorschlägen zu folgen, die als Antwort auf das 1. Update kamen, aber nichts scheint die Aufgabe tatsächlich wie erforderlich zu erfüllen. Folgendes habe ich versucht:
- Ersetzen Sie den Server durch
us.pool.ntp.org - Explizite Pfade zu den Programmen verwenden
- Entfernen Sie die
ntpservice insgesamt und lassen Sie einfachsudo ntpdate ...inrc.local - Entfernen Sie die
sudoaus dem obigen Befehl inrc.local
Mit dem oben genannten startet die Maschine immer noch bei 1970. Wenn Sie dies jedoch von der Befehlszeile aus tun, sobald Sie angemeldet sind (über ssh), wird die Uhr aktualisiert, sobald ich aufrufe ntpdate.
Das letzte, was ich getan habe, war, das zu entfernen rc.local und rufen Sie an ntpdate in meinem .bashrc Datei. Dadurch wird die Uhr wie erwartet aktualisiert und ich erhalte die tatsächliche aktuelle Uhrzeit, sobald die Eingabeaufforderung verfügbar ist.
Jedoch, dies bedeutet, dass, wenn die Maschine eingeschaltet ist und kein Benutzer angemeldet ist, die Zeit nie aktualisiert wird. Ich kann natürlich das neu installieren ntp service so wird zumindest die Uhr innerhalb weniger Minuten nach dem Start aktualisiert, aber dann sind wir wieder auf Platz 1.
Also, gibt es einen Grund, warum die Platzierung der ntpdate befehl ein rc.local führt die erforderliche Aufgabe nicht aus, während dies in .bashrc funktioniert gut?