Zeitserver - Problem mit "wget/curl"

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich habe mir einen einfachen Arduino-Webserver eingerichtet der mir als Zeitbasis für meine beiden Raspberries in meinem Intranet dienen soll. Der Server ist an ein DCF-77 Modul angeschlossen und funktioniert einwandfrei (zeigt auf jedem Webbrowser die richtige Zeit an!)

    Jetzt möchte ich gerne mit "wget" oder "curl" die Zeit vom Server holen, in einer Variablen speichern und dann mit dem date Befehl meine Raspberries stellen!

    Gedacht habe ich mir das so:

    Code
    TIME="`wget -S -O- http://192.168.1.15`"
    Code
    date -s | grep TIME
    Code
    hwclock -w

    Aber schon nach dem ersten Befehl treten Probleme auf!

    Code
    TIME="`wget -S -O- http://192.168.1.15`" bringt:


    --2021-11-22 12:46:11-- http://192.168.1.15/

    Verbindungsaufbau zu 192.168.1.15:80 … verbunden.

    HTTP-Anforderung gesendet, auf Antwort wird gewartet …

    HTTP/1.1 200 OK

    Content-Type: text/html; charset=utf-8

    Connection: close

    Refresh: 0.8

    Länge: nicht spezifiziert [text/html]

    Wird in »STDOUT« gespeichert.

    - [ <=> ] 187 --.-KB/s in 0,008s

    2021-11-22 12:46:12 (24,1 KB/s) - auf die Standardausgabe geschrieben [/187]


    Die Zeit wird also vom Server geholt - in diesem Fall 2021-11-22 12:46:12

    Code
    "echo $TIME" bringt aber: "</html>R>21e>DCF77_Server 1.0 c 2021 </title></head>"

    Die Variable TIME enthält leider nicht die Zeit obwohl sie vom Server geholt wird! Was kann ich tun? Gibt es Alternativen?

  • Die Variable TIME enthält leider nicht die Zeit obwohl sie vom Server geholt wird! Was kann ich tun? Gibt es Alternativen?

    Versuch mal mit curl. Z. B.::

    Code
    :~$ TIME=$(curl -sD - heise.de | grep -i date | awk {'print $2,$3,$4,$5,$6,$7'}); echo $TIME
    Mon, 22 Nov 2021 13:27:16 GMT

    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

  • Danke für Deine Antwort - aber leider ergibt:

    Code
    pi@SF1:~ $ TIME=$(curl -sD - 192.168.1.15 | grep -i date | awk {'print $2,$3,$4,$5,$6,$7'}); echo $TIME

    gar keine Ausgabe!!!

  • Danke für Deine Antwort - aber leider ergibt:

    Code
    pi@SF1:~ $ TIME=$(curl -sD - 192.168.1.15 | grep -i date | awk {'print $2,$3,$4,$5,$6,$7'}); echo $TIME

    gar keine Ausgabe!!!

    Hast Du auch das prompt:

    Code
    :~ $

    per c&p übernommen und eingegeben?

    Versuch mal mit:

    Code
    curl -sD - 192.168.1.15 | grep -i date | awk {'print $2,$3,$4,$5,$6,$7'}

    und mit:

    Code
    curl -sD - heise.de | grep -i date | awk {'print $2,$3,$4,$5,$6,$7'}

    EDIT:

    BTW: Mit meiner FritzBox funktioniert es auch:

    Code
    :~$ curl -sD - 192.168.178.1 | grep -i date: | awk {'print $2,$3,$4,$5,$6,$7'}
    Mon, 22 Nov 2021 14:26:18 GMT

    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 (22. November 2021 um 15:27)

  • Code
    TIME="$(wget -q -O- http://192.168.1.15)"

    pi@SF1:~ $ echo $TIME

    </html>R>22e>DCF77_Server 1.0 c 2021</title></head>

    Tja...gar nicht so einfach!! Das erlebe ich jetzt schon seit Tagen ! Es will einfach nicht funktionieren!

    Danke für den Tip mit den Backticks...werde ich in Zukunft so machen!!!

    Code
    curl -sD - http://192.168.1.15

    ergibt:

    HTTP/1.1 200 OK

    Content-Type: text/html; charset=utf-8

    Connection: close

    Refresh: 0.8

    <!DOCTYPE HTML>

    <html>

    <HEAD>

    <head><title>DCF77_Server 1.0 c 2021</title></head>

    <body>

    <H1>

    <CENTER>

    '2021-11-22

    15:18:13'

    </CENTER>

    </H1>

    </body>

    </html>

  • pi@SF1:~ $ curl -sD - 192.168.1.15 | grep -i date: | awk {'print $2,$3,$4,$5,$6,$7'}

    pi@SF1:~ $


    Keine Ausgabe!!

    Einmal editiert, zuletzt von hyle (22. November 2021 um 17:30) aus folgendem Grund: Ein Beitrag von phb mit diesem Beitrag zusammengefügt.


  • Ausgabe auf Chromium!


    Ach so - also Plain-Text!


    Das versuche ich mal - melde mich später wieder!!

    Einmal editiert, zuletzt von hyle (22. November 2021 um 17:29) aus folgendem Grund: 3 Beiträge von phb mit diesem Beitrag zusammengefügt.

  • Noch eine Kleinigkeit - ich wollte die Systemzeit mit

    Code
    date -s | grep $TIME 

    stellen - geht aber leider nicht! Scheinbar kann date keine Variablen auslesen. Oder habe ich da was falsch gemacht?

  • Code
    pi@SF1:~ $ date -s $TIME

    date: Dem Argument „„22:54:13'\r““ fehlt das führende „+“.

    Wenn eine Option angegeben wird, um das Datum zu spezifizieren, muss jedes

    Argument, das keine Option ist, eine Formatzeichenkette sein, die mit „+“

    beginnt.

    „date --help“ liefert weitere Informationen.

    Verstehe nur Bahnhof - ist wirklich schon spät!!!!

  • Noch eine Kleinigkeit - ich wollte die Systemzeit mit

    Code
    date -s | grep $TIME 

    stellen - geht aber leider nicht! Scheinbar kann date keine Variablen auslesen. Oder habe ich da was falsch gemacht?

    Wenn Du Datum und Uhrzeit setzen willst, dann versuch mal mit:

    Code
    date
    sudo rdate -4nu ptbtime2.ptb.de
    date && rdate -4pnu 3.ubuntu.pool.ntp.org

    (wenn c&p nicht geht, dann manuell eingeben).

    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

Jetzt mitmachen!

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