RalfonLinux2
Newbie
Hallo zusammen,
da ich hier in der Firma hinter einem Zwangsproxy stecke, der nur die Ports 80 und 443 durchläßt, habe ich keine Möglichkeit, direkt einen NTP-Server abzufragen.
Daher habe ich mir mal die Mühe gemacht, und ein kleines Script geschrieben, welches sich die Zeit von einer Webseite holt, umrechnet, und setzt.
Code kopieren und als hhtptime.sh abspeichern. (Die wget-Zeile ist leider umgebrochen worden, sollte eine Zeile sein)
Dann noch mittles chmod +x httptime.sh ausführbar machen.
Die ersten 4 Zeilen des Scripts fragen nach dem root-Password.
Der wget holt von http://www.schulferien.org die uhrzeit.html und
der grep filtert die interessante Zeile "var serverTimeStamp", welche
mittels gawk zerlegt wird und folgende Befehle ausführt:
Das erste date könnte also auch rausgenommen werden, das zweite date kann durch weitere Parameter erweitert werden.
Vllt möchte ja jemand auch noch ein hwclock einsetzten.
Die Genauigkeit ist natürlich abhängig von der Internetverbindung und die Antwortzeiten vom Server.
Sollte sich aber alles unter 1-2 Sekunden einspielen.
Das Script in den Autostart-Ordner, ggf. das root-Passwort im Script fest eintragen, und jeden Tag wird die Zeit neu gesetzt.
Beachte!
root-Kennwörter in einem Script hinterlegen ist böse, gaaanz böse.
Also vllt. via sudo dafür sorgen, das der normale User den date-Befehl ausführen darf.
Als Single oder Kind linux-unfähiger-Eltern sollte es aber kein Problem sein.
Viel Spaß
Ralf
da ich hier in der Firma hinter einem Zwangsproxy stecke, der nur die Ports 80 und 443 durchläßt, habe ich keine Möglichkeit, direkt einen NTP-Server abzufragen.
Daher habe ich mir mal die Mühe gemacht, und ein kleines Script geschrieben, welches sich die Zeit von einer Webseite holt, umrechnet, und setzt.
Code:
echo "root-Passwort für setDate-Kommando?"
stty -echo
read password
stty echo
wget -q http://www.schulferien.org/Uhrzeit/uhrzeit.html -O - | grep -i "var serverTimeStamp" | gawk -F"[=|;]" ' {system(" date -d @$(("$2"/1000)) +%Y%m%dT%H%M%S ; echo '$password' | sudo -p \"\" -S date -s @$(("$2"/1000)) ") }'
Dann noch mittles chmod +x httptime.sh ausführbar machen.
Die ersten 4 Zeilen des Scripts fragen nach dem root-Password.
Der wget holt von http://www.schulferien.org die uhrzeit.html und
der grep filtert die interessante Zeile "var serverTimeStamp", welche
mittels gawk zerlegt wird und folgende Befehle ausführt:
- das erste date zeigt die Uhrzeit in einem phrasefähigen Format an für weitere Scripte
das zweite date setzt dann die Uhrzeit
Das erste date könnte also auch rausgenommen werden, das zweite date kann durch weitere Parameter erweitert werden.
Vllt möchte ja jemand auch noch ein hwclock einsetzten.
Die Genauigkeit ist natürlich abhängig von der Internetverbindung und die Antwortzeiten vom Server.
Sollte sich aber alles unter 1-2 Sekunden einspielen.
Das Script in den Autostart-Ordner, ggf. das root-Passwort im Script fest eintragen, und jeden Tag wird die Zeit neu gesetzt.
Beachte!
root-Kennwörter in einem Script hinterlegen ist böse, gaaanz böse.
Also vllt. via sudo dafür sorgen, das der normale User den date-Befehl ausführen darf.
Als Single oder Kind linux-unfähiger-Eltern sollte es aber kein Problem sein.
Viel Spaß
Ralf