Auf meiner Ubuntu 10.04-Box kann ich (ein Benutzer, nicht root)
sudo net time set
und es funktioniert großartig.
Ich würde es vorziehen, wenn die Box die Netzzeit regelmäßiger oder zumindest bei jeder Anmeldung erhält. Also habe ich versucht,Nettozeit eingestelltZu/etc/Profil. Das schlägt fehl. Ich habe Strophen hinzugefügt, die aussehen wie
user ALL=(ALL) NOPASSWD: /usr/bin/net
Zu/etc/sudoers(mithilfevisuell). Hat nicht geholfen.
Ich habe nie berührtcronalso ich habe keine Ahnung, wie man eine Chron-Registerkarte hinzufügt. (Es scheint ein Widerspruch in sich zu sein, sich zum Zurücksetzen der Systemzeit auf die Systemzeit zu verlassen.)
- Wie lässt sich dies am besten bewerkstelligen?
- Wenn es ein Cron-Job ist, würde ich mich über ein kurzes Beispiel freuen.
- Dieselben Fragen, aber für den BefehlDienst DHCP3-Server Neustart?
(Ja, meine Box erhält ihre Adresse per DHCP, aber ihr DHCP-Server steuert 4 Gigabit-E-Net-Karten, die an Hochgeschwindigkeitskameras angeschlossen sind. Manchmal lässt mich der DHCP-Server beim Anmelden? Hochfahren? nur 1 Kamera anzeigen.)
Dank im Voraus.
Antwort1
(Ja, ich füge eine zweite Antwort hinzu.)
Ihrer Beschreibung zufolge haben Sie die entsprechende Zeile zu hinzugefügt /etc/sudoers
, rufen sie jedoch nicht sudo
in auf /etc/profile
.
Der Befehl /etc/profile
muss lauten:
sudo net time set
Beachten Sie, dass dies bei jeder Anmeldung mit einem beliebigen Konto ausgeführt wird. Ist das Ihr Wunsch, oder wäre es sinnvoller, den Befehl einzufügen $HOME/.profile
?
Um daraus einen Cron-Job zu machen, können Sie etwas wie Folgendes hinzufügen:
0 * * * * * sudo net time set
zu, sagen wir, foo.txt
dann crontab foo.txt
. Danach crontab -l
zeigt Ihnen Ihr aktueller Cron-Job (Ihre aktuellen Cron-Jobs). Mit den angegebenen Parametern wird der Job einmal pro Stunde ausgeführt man 5 crontab
und bei Bedarf angepasst. Es gibtkönnteEs kann einige Probleme geben, da Cron-Jobs mit einer minimalen Umgebung ausgeführt werden, aber ich glaube nicht, dass /usr/bin/net
dies von irgendwelchen Umgebungsvariablen abhängt.
Beachten Sie, dass ntpd
dies im Gegensatz dazu dazu führen kann, dass die Uhr Ihres Systems zurückspringt, was zu Problemen führen kann.
Antwort2
Machen Sie sich keine Mühe.
Die übliche Methode, die Systemuhr synchronisiert zu halten, ist ntpd
. Es sollte unter Ubuntu standardmäßig installiert und konfiguriert sein. Läuft bei Ihnen ein ntpd
Prozess? Ist die Uhr Ihres Systems falsch?
BEARBEITEN :
Ihrem Kommentar zu meiner anderen Antwort zufolge scheint es, als hätten Sie einen NTP-Server, den Sie verwenden können.
Sie sollten die ntp
Software bereits auf Ihrem System installiert haben. dpkg -l ntp
Um dies zu überprüfen. Wahrscheinlich läuft bereits ein ntpd
Daemon, der jedoch nicht funktioniert, weil er nicht weiß, mit welchem Server er kommunizieren soll. ps -ef | grep ntpd
Um dies zu bestätigen.
/etc/ntp.conf
ist die Konfigurationsdatei für NTP. Die Standardversion hat:
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
Kommentieren Sie diese Zeilen aus und fügen Sie hinzu:
server your.ntp.server
dann renne:
sudo /etc/init.d ntp restart
man ntpd
für weitere Einzelheiten, aber das sollte für den Anfang genügen.