# dumme Frage zum ntp-client

## Gucky_der_Mausbiber

Moin,

ich hätte da mal ne dumme Frage zu ntp. Ausgangslage ist mein Multimedia-PC auf welchem ich den ntp-client installiert habe. Als ntp-Server fungiert mein Server.

Soweit klappt das mit dem synchronisieren der Zeit auch, beide PC's haben exakt die gleiche Zeit, d.h. beim hochfahren des multimediaPC's wird ntp-client korrekt ausgeführt. 

Mein Problem ist jetzt, das mein multimediaPC im "normal"-Betrieb nicht mehr heruntergefahren wird sondern 24/7 läuft. Jetzt würde ich gerne wissen ob der ntp-client NUR beim booten des Rechner einen Zeitabgleich durchführt oder ob der ntp-client alle X Stunden (ein Intervall welches man vielleicht irgendwo selbst festlegen kann?) versucht den ntp-Server zu erreichen und die Uhrzeit mit selbigem dann abgleicht.

Falls nicht, d.h. er gleicht die Zeit nur beim booten ab, habe ich ein Problem, weil dann nach ca. 1-2 Wochen die Zeit auf meinem multimediaPC bis zu 2-3 Minuten falsch geht (und deswegen Sendungen zu früh/spät aufgenommen werden), deswegen müsste ntp-client so einstellbar sein, das es automatisch alle 12 Stunden die Uhrzeit mit dem ntp-server abgleicht.

Also geht das? Kann man dem ntp-client ein Intervall vorgeben das er sich automatisch alle X Stunden mit dem Server abgleicht? Und falls nein, welche Möglichkeiten habe ich dann?

----------

## zworK

Soweit ich weiß, startet der ntp-client nur einmal die Aktualisierung und läuft nicht periodisch.

Da fallen mir aber spontan 2 Lösungen ein..

1) Per cron job. Eine simpler Weg wäre das erstellen eines Scripts :

```
#!/bin/bash

/etc/init.d/ntp-client restart
```

dieses dann nach /etc/cron.daily kopieren und per chmod +x ausführbar machen. So wird der ntp-client jeden Tag einmal neu gestartet.

2) Ebenfalls einen ntp-server auf dem Client einrichten. Der Server synchronisiert sich automatisch nach einem (mit nicht bekannten) Interval. Dieser läßt sich, soweit ich mir erinnere, auch als "client" einrichten, sodass er sich nur die Zeit holt.

----------

## Finswimmer

Je nachdem, wie ntp gestartet wird, kannst du es in cron eintragen.

Das ist ein daemon, der nach dem Intervall X, oder einem bestimmten Datum, den vordefinierten Befehl ausführt.

Alternativ kannst du es auch so machen, wie ich:

```
[10:30:03]|[tobi@tobi-rechner]|~$ cat /usr/sbin/timesynchro

#netdate ptbtime1.ptb.de

netdate time.uni-freiburg.de
```

Das kannst du dann definitv in einen cron-job eintragen.

Tobi

----------

## schachti

Sowas per cronjob zu tun ist böse.   :Wink: 

Laß lieber den ntpd laufen, Anleitung siehe http://gentoo-wiki.com/HOWTO_NTP.

----------

## slick

ntpdate o.ä. per cron aufrufen ist eigentlich ziemlicher Schwachsinn, es ist zwar möglich, aber wer sowas macht hat meines Erachtens nicht das Prinzip verstanden. </meinung>

Denn durch den cronjab wird die Uhren "sprunghaft" abgeglichen, d.h. sollte z.B. deine Uhr extrem falsch gehen kann es passieren das der per cron gestartetet NTP-Client zu jeder Ausführung die Uhr um mehrere dutzend Minuten korrigiert. D.h. alle Logfiles etc. sind relativ sinnlos, weil Du ja nie weißt wie spät es wirklich war, außerdem könnte es durch die Zeitsprünge Probleme geben (z.B. Zeitsprung während Kompilierung etc.)

Besser ist es am Client auch einen Server aufzusetzen, dieser wird dann konfiguriert wie dein vorhandener NTP-Server, nur das dieser dann als Server Deinen NTP-Server eingetragen hat. Somit wird die Zeit kontinuierlich syncronisiert und es entstehen keine Zeitsprünge, optimal für 24/7 Betrieb.

Mit ntpq -p kannst Du schauen ob die Syncronisation läuft.

EDIT: schachti war schneller  :Wink: 

----------

## Gucky_der_Mausbiber

@Finswimmer

```
netdate time.uni-freiburg.de
```

 Kann ich leider nicht benutzen, da ich kein DSL habe (gibt es hier net) und deswegen auch keine Flatrate, d.h. der multimediaPC hat in der Regel KEINEN Zugriff auf's Internet.

@zworK

Hmm, das mit dem ntp-server auf dem multimediaPC geht leider auch nicht weil, wie oben geschrieben, ich keine Flatrate habe, d.h. der multimediaPC kann NICHT ins Internet um sich dort die Zeit zu holen.

Werde es wohl dann per cron-Job machen und den ntp-client einfach reseten alle 12 Stunden? Ihr seid euch sicher das das so klappt und es auch keine "bessere" Lösung gibt?

----------

## slick

 *Gucky_der_Mausbiber wrote:*   

> Werde es wohl dann per cron-Job machen und den ntp-client einfach reseten alle 12 Stunden? Ihr seid euch sicher das das so klappt und es auch keine "bessere" Lösung gibt?

 

Ja wenn Du kein permanentes Netz hast (Flat) bringt ein NTP-Server wirklich wenig, aber ich meine da gibt es im Elektronik-Fachhandel für wenig Geld auch Funkempfänger die man an den PC anstecken kann. Also wenn Dir die Zeitgenauigkeit sehr wichtig ist wäre das eine Alternative, brauchst ja nur einen Empfänger im LAN.

Ansonsten wenn Du bei cron bleiben willst, dann pack doch beim Einwahlrechner die ntpdate <server> -Zeile in die /etc/ppp/ip-up, somit stellt er sich jedesmal einmal wenn er online geht. Allerdings wird es schwierig diese Zeit im Netz zu verteilen, denn ntpd und ntpclient können nicht gleichzeitig laufen.

----------

## zworK

Mit Punkt 2 meinte ich, was schachti und slick schon geschrieben haben. Den NTP-Server auf dem Client PC gegen den NTP-Server auf dem Server synchronisieren lassen.

Über die Nebeneffekte des cron-basierten ntp-clients hatte ich mir noch keine Gedanken gemacht, gut zu wissen   :Smile: 

----------

## Gucky_der_Mausbiber

also, wenn ich es richtig verstanden habe dann ist die "beste" Lösung wohl ein eigener ntp-server auf meinem multimediaPC, richtig?

Dazu 2 Fragen:

1. Kann ich den überhaupt ntpd und ntp-server auf dem gleichen Rechner zu gleichen Zeit laufen lassen?

2. Wie oft, bzw. in welchen Intervallen aktualisiert sich den dann der ntpd-server? Alle 12 Stunden oder alle 5 Minuten?

Habe ein wenig Bedenken ob ich das schaffe den ntp-server und den -client auf dem dem gleichen Rechner zu installieren und das ganze so zu konfigurieren das der ntp-server sich seine zeit von meinem Server holt und der client sich seine Zeit dann vom installierten server holt ... hmm

----------

## schachti

 *Gucky_der_Mausbiber wrote:*   

> 
> 
> 1. Kann ich den überhaupt ntpd und ntp-server auf dem gleichen Rechner zu gleichen Zeit laufen lassen?
> 
> 

 

Der ntpd dient - je nach Konfiguration - auch als Server. Also:

ntp-client: Holt die aktuelle Zeit ein einziges Mal und setzt die Uhr Deines Rechners entsprechend - sollte normalerweise direkt nach dem Booten ausgeführt werden, um die Zeit einmal richtig zu setzen.

ntpd: Daemon, der im Hintergrund läuft und die Uhrzeit Deines Rechners kontinuierlich korrigiert (indem er sie mit der Zeit, die er von einem Server aus dem Internet bekommt, vergleicht und die Uhr in Deinem Rechner je nach Zeitdifferenz schneller oder langsamer laufen läst. Außerdem kann der ntpd selbst als Zeitserver dienen und damit die Zeit des Rechners an andere Rechner "weiterverteilen"

 *Gucky_der_Mausbiber wrote:*   

> 
> 
> 2. Wie oft, bzw. in welchen Intervallen aktualisiert sich den dann der ntpd-server? Alle 12 Stunden oder alle 5 Minuten?
> 
> 

 

ntpd macht das AFAIK so ca. alle 60 Sekunden.

In einem typischen LAN sieht das dann zum Beispiel wie folgt aus:

- Auf allen Rechnern ist net-misc/ntp bzw. net-misc/openntpd.

- Ein Rechner fungiert als lokaler Zeitserver, auf diesem Server ist der ntpd so konfiguriert, daß sich andere Rechner aus dem LAN mit ihm abgleichen dürfen. Dieser Server sollte entweder über eine ständige Internetverbindung (flatrate) verfügen, oder an eine externe Funkuhr angeschlossen sein, damit er immer die korrekte Zeit im LAN verteilt.

- Alle anderen Rechner holen sich mittels ntpd in regelmäßigen Abständen (vollautomatisch, wenn der ntpd läuft) die aktuelle Zeit vom Server und passen ihre Uhr entsprechend an.

Wenn Du keinen Recher hast, der dauernd am Netz hängt bzw. an eine Funkuhr angeschlossen ist, macht natürlich ein Zeitserver im LAN in der Regel nur Sinn, wenn Du darauf angewiesen bist, daß die Zeit auf allen Rechnern gleich ist (selbst, wenn es die falsche Zeit ist).

----------

## Gucky_der_Mausbiber

Also wenn ich das alles lese, dann wird es doch sehr kompliziert mit dem ntp-client & ntpd , das ich es schaffe beide richtig zum laufen zu bekommen, auf einem PC, das bezweifel ich irgendwie stark.   :Confused: 

Deswegen würde mir ja die Idee mit einem DCF77-Modul am besten gefallen. Entweder als PCI-Karte oder für die serielle Schnittstelle. Tja, das Problem ist nur das das DCF77-Modul von Conrad am meisten genannt wird (selbst in der ntpd.conf), Conrad sowas aber gar nicht mehr anbietet   :Sad: 

Okay, bin ja nicht ganz doof und habe noch verschiedene Firmen gefunden. Meinberg z.Bsp. bietet sowas an, aber da steht ja nicht mal ein Preis. Das billigste was ich gefunden habe ist der "expert mouseclock", aber selbst das kostet stolze 79,-  .... naja, mit so einem Modul direkt in meinem multimediaPC wären natürlich alle Probleme gelöst, aber gibt es wirklich keine günstigere Lösung?

PS: Bei Ebay gibt es weder das Conrad-Modul, noch die Karte von Meinberg und auch der/die "expert mouseclock" gibt es bei Ebay nicht ....

----------

## schachti

 *Gucky_der_Mausbiber wrote:*   

> Also wenn ich das alles lese, dann wird es doch sehr kompliziert mit dem ntp-client & ntpd , das ich es schaffe beide richtig zum laufen zu bekommen, auf einem PC, das bezweifel ich irgendwie stark.  
> 
> 

 

Das ist im Grunde ganz einfach: http://gentoo-wiki.com/HOWTO_NTP.

----------

## Gucky_der_Mausbiber

das habe ich ja gelesen, aber irgendwie finde ich es doch ein wenig unübersichtlich.

Ne Idee wo es ne günstige DCF77-Uhr für Linux gibt habt ihr aber nicht?

----------

