ntpdate beim booten startet nicht

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,
    vielleicht suche ich an den falschen Stellen, doch ich habe nun x Stunden verbracht und verstehe nicht warum mein Cron job nicht läuft.
    Hier der Auszug meines Cron


    Die Statusabfrage ergibt folgendes:


    Die Uhrzeit wird nicht syncronisiert. Wenn ich den Befehl manuell abgebe, dann wird die Zeit syncronisiert. Doch bei einem Neustart nicht.

    Hoffentlich komme ich hier auf Lösung. Vielen Dank
    Hoffi


  • Doch bei einem Neustart nicht.

    Evtl. ist zu diesem Zeitpunkt, noch keine Verbindung zu 192.168.2.1 möglich?

    EDIT:

    Werden die anderen Zeilen in der systemweiten crontab, ausgeführt?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (20. Oktober 2015 um 21:35)

  • Die Überschrift ist falsch! ntpdate wird bei dir sehr wohl ausgeführt und crontab funktioniert auch tadellos - was dein Log beweißt. Nur weil die Zeit nicht aktualisiert, was aber höchst wahrscheinlich an der Adresse 192.168.2.1 liegt! (siehe Beitrag#2)

    Aber wieso führst du es alle 3 Stunden und noch mal nachts um 3 Uhr aus? (und @reboot)


    ntpdate ist aber eh Mist. Am besten du deinstallierst diesen permanent laufenden Dienst und installierst dir stattdessen rdate

    Code
    sudo apt-get purge ntpdate -y
    sudo apt-get auto-remove
    sudo apt-get install rdate

    Und dann in den Crontab vom root Benutzer eintragen (nicht in die Systemcrontab):

    Code
    sudo crontab -e
    Code
    @reboot         /usr/bin/rdate -s chronos.zedat.fu-berlin.de >/dev/null 2>&1
    * * * * *       /usr/bin/rdate -s chronos.zedat.fu-berlin.de >/dev/null 2>&1
  • Vielen Dank für die Antworten.

    ich habe jetzt meine Cron einträge gelöscht und rdate installiert, wie angegeben.
    Der Erfolg scheint der selbe zu sein, der Befehl wird ausgeführt, aber die Zeit nicht aktualisiert.

    Führe ich den Befehl manuell aus habe ich die neue Zeit.
    192.168.2.1 ist meine Fritzbox die auch als Zeitserver fungieren kann. Bei der manuellen Sync klappt dies auch.
    Alle 3 Stunden hatte ich damit es Tagsüber aktuell bleibt.
    Nachts um 3 damit bei der Zeitumstellung das nicht erst evtl. 3 Stunden später passiert.


    Anbei der Status des aktuellen Cron:


    Hier der Vorgang wenn ich die Zeit manuell syncronisiere:

    Code
    pi@raspberrypi ~ $ date
    Tue 20 Oct 13:44:54 CEST 2015
    pi@raspberrypi ~ $ sudo /usr/bin/rdate -s chronos.zedat.fu-berlin.de
    pi@raspberrypi ~ $ date
    Tue 20 Oct 21:58:20 CEST 2015

  • Der Erfolg scheint der selbe zu sein, der Befehl wird ausgeführt, aber die Zeit nicht aktualisiert.

    192.168.2.1 ist meine Fritzbox die auch als Zeitserver fungieren kann.

    Du könntest z. B. mit "@reboot" ja auch als Test, einen Ping (oder gleichwertig) auf die FritzBox ausführen lassen und den Rückgabewert des Pings (oder gleichwertig) in die syslog schreiben lassen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Wenn ich den pong mit einfüge (ich hoffe es ist so richtig) kommt folgender Status:


    Da ist eine Veränderung zu sehen, doch leider sagt mir die nichts :no_sad:

  • Wie bereits geschrieben, wird sowohl der Crontabeintrag als auch der Befehl ausgeführt. Warum dieser dann aber nicht die Zeit aktualisiert liegt zumindest nicht an dem Crontabeintrag himself, höchstens an dem Augenblick wann dieser ausgeführt wird. Dem kann man Abhelfen wenn man einfach wie von mir vorgeschlagen einen Eintrag macht damit der Befehl auch jede Minute ausgeführt wird - es ginge aber auch alle 2 Minuten oder alle 5 Minuten etc - dazu hab ich oben "Crontab" verlinkt.

    Alternativ nimmst du das " -s " Parameter aus dem Crontabeintrag raus und richtetest eine Umleitung der Ausgaben sowie möglicher Fehler in eine Datei um, welche du dann nach einem reboot prüfst.

    Code
    @reboot         /usr/bin/rdate chronos.zedat.fu-berlin.de >/tmp/rdate.txt 2>&1
    * * * * *         /usr/bin/rdate chronos.zedat.fu-berlin.de >/tmp/rdate.txt 2>&1

    tail -f /tmp/rdate.txt


    //EDIT: Der ping Eintrag ist falsch. Du musst schon eine Umleitung der Ausgabe einrichten sonst weiß cron nichts mit der Ausgabe anzufangen und wirft einen Fehler aus....


  • Wenn ich den pong mit einfüge (ich hoffe es ist so richtig) ...

    Ich meinte z. B. diese Art:

    Code
    ping -c 1 -W 2 192.168.178.1 > /dev/null 2>&1; echo $?
    0
    Code
    ping -c 1 -W 2 192.168.178.2 > /dev/null 2>&1; echo $?
    1


    von Rückgabewert.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Moin,
    Meine erste Reaktion auf die Anfrage war: MHM??

    Wieso willst du per cronjob die Uhr stellen?

    Bei mir rennt "ntpd". Und der macht alles richtig.

    Nebenbei bemerkt. NTPDATE ist eigentlich in der Linuxwelt nicht mehr gern gesehen.
    Sollte auch nicht eingesetzt werden wenn NTPD rennt.


    Aber ev. hätte ich mich auch nicht einmischen sollen...

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • mmh.
    Die Ausgebedatei sagt folgendes:

    Code
    pi@raspberrypi ~ $  tail -f /tmp/rdate.txt
    rdate: chronos.zedat.fu-berlin.de: Name or service not known


    Führe ich das manuell aus kommt folgende Meldung:

    Code
    pi@raspberrypi ~ $ sudo rdate chronos.zedat.fu-berlin.de
    
    
    Tue Oct 20 22:38:28 CEST 2015


    Es scheint so, das der Ableich stattfindet bevor ds Netzwerk bereit ist.

    Ist der Code so richtig?

    Code
    ping -c 1 -W 2 192.168.178.1 > /dev/null 2>&1; echo $?
    
    
    0


    Weil die 0 in einer neuen Zeile steht.?

  • Code
    pi@raspberrypi ~ $  tail -f /tmp/rdate.txt
    rdate: chronos.zedat.fu-berlin.de: Name or service not known

    Ist der Code so richtig?

    Code
    ping -c 1 -W 2 192.168.178.1 > /dev/null 2>&1; echo $?
    
    
    0


    Weil die 0 in einer neuen Zeile steht.?

    0 ist hier im Beispiel der Rückgabewert. Du müsstest die IP-Adresse deiner FB einsetzen. Aber ich denke es hat sich erledigt, denn "Name or service not known" deutet m. E. auf nicht vorhandene bzw. noch nicht mögliche Namensauflösung hin, was an nicht vorhandener Verbindung zum dns-Resolver FB oder dns-Server im Internet liegt.

    EDIT:

    BTW: Für die Ausführung sofort nach dem reboot/Start und schon vorhandener Verbindung ins (W)LAN/Internet, eignet sich ein ausführbares Script im Verzeichnis "/etc/network/if-up.d". Im Script kann man als Bedingung, das UP des output-Interfaces berücksichtigen/verwenden.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (20. Oktober 2015 um 23:05)

  • Vielen Dank für die Antworten.

    Das ganze mit einem Script, probiere ich einmal aus wenn ich tierfer in der Materie bin.
    Mit ntp läuft das ganze "von selbst" ist ntpd, wie DG8BR vorschlägt, das selbe wie ntp?

    Vielen Dank
    Hoffi


  • ... ist ntpd, wie DG8BR vorschlägt, das selbe wie ntp?

    Ja. Siehe z. B. die Ausgaben von:

    Code
    ps -fC ntpd
    service ntp status
    sudo netstat -tulpen | grep -i 123
    apt-cache show ntp

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Wenn der NTP-Dienst schon läuft, darf ntpdate nicht genutzt werden.

    Außerdem gilt ntpdate als "deprecated", dh. sollte nicht mehr verwendet werden. Stattdessen kann ntpd genutzt werden, auch für einmalige Synchronisierungen. Dies wird erreicht, indem ntpd mit der Option -g gestartet wird (s. /etc/default/ntp) und erlaubt einmalig, zB. beim Start, auch größere Zeitabweichungen als 1000 s. Die Konfigurationsdatei von ntpd ist /etc/ntp.conf

    ntpd ist ein permanent laufender Dienst (Daemon). ntpd ist auf Raspbian Standardmäßig bereits eingerichtet und aktiv.

    NTP ist das verwendete Protokoll: Network Time Protocol

  • Code
    @reboot         /usr/bin/rdate -s chronos.zedat.fu-berlin.de >/dev/null 2>&1
    * * * * *       /usr/bin/rdate -s chronos.zedat.fu-berlin.de >/dev/null 2>&1

    meigrafd, rdate soll jede Minute (* * * * *) ausgeführt werden. Warum denn so häufig? Hier könnte doch auch ein Wert von z.B. 30 Minuten (30 * * * *) ausreichend sein?

    Nachtrag: Stimmt dein Link zur zedat bzw. ist der Timeserver an dieser Adresse noch erreichbar? siehe http://www.zedat.fu-berlin.de/Time-Service

    Einmal editiert, zuletzt von raspelman (23. Oktober 2015 um 10:47)

  • Code
    @reboot         /usr/bin/rdate chronos.zedat.fu-berlin.de >/tmp/rdate.txt 2>&1

    Alternativ würde ich den Befehl aus der crontab rausnehmen und in /etc/rc.local schreiben - mit einem sleep davor, damit die Abfrage nicht ggfs. vor der Netzanbindung erfolgt. So wird die Uhrzeit auch nach einem shutdown gestellt.

    Code
    sleep 30
    rdate -s chronos.zedat.fu-berlin.de >/dev/null 2>&1
    
    
    exit 0

    Einmal editiert, zuletzt von raspelman (24. Oktober 2015 um 11:39)


  • Alternativ würde ich den Befehl aus der crontab rausnehmen und in /etc/rc.local schreiben - mit einem sleep davor, damit die Abfrage nicht ggfs. vor der Netzanbindung erfolgt. So wird die Uhrzeit auch nach einem shutdown gestellt.

    Code
    sleep 30
    rdate -s chronos.zedat.fu-berlin.de >/dev/null 2>&1
    
    
    exit 0

    Nein das würde ich So auf keinen Fall machen, denn dann wir der Bootvorgang für 30 Sekunden blockiert/pausiert!

    Wenn, dann sollte man eine Befehls-Gruppe bilden und in den Hintergrund schicken, sodass der Rechner wie gewohnt und normal weiter booten kann:

    Code
    (sleep 30; rdate -s chronos.zedat.fu-berlin.de >/dev/null 2>&1) &
    
    
    exit 0

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!