Benutzer:Sokai/Router-Tricks

< Benutzer:Sokai
Version vom 28. September 2008, 11:05 Uhr von Sokai (Diskussion | Beiträge) (+date-Skript)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Datum-Skript

Idee

Wie bekomme ich auf meinem Router ein aktuelles Datum (inkl. Uhrzeit) hin, ohne "größeren" manuellen Aufwand und ohne irgend ein ntp*-Paket installieren zu müssen (welches ja auch wieder Platz auf dem Router frisst)?

Vorüberlegungen

  • ein Server, der einen aktuellen timestamp hat, kann ja diesen (in der korrekten Form) per http ausliefern
  • ein FFF-Skript liest diesen timestamp bei jedem Neustart (oder auch per cron etc.) per wget aus und setzt das Datum neu

Lösung

Server

  • die Seite kann nur per http oder ftp gelesen werden,
  • die Seite sollte gleich das korrekte Format für die FFF liefern, damit dieses beim Setzen des Datums nicht noch "rumgespielt" werden muss,
  • die Seite wird mittels PHP generiert,
  • der Code der Seite sieht so aus:
<?php
echo date("Y.m.d-H:i+0200");
?>

Router (FFF)

  • Skript erstellen
    • sollte es beim Neustart oder per cron später benutzt werden, sollte es als startbarer Dienst (dazum muss das Skript aber noch angepasst werden!) irgendwo in /etc/init.d/ liegen
  • das Skript sieht so aus:
#!/bin/sh
  fname='date'
  url='http://blablabla.bla/blablabla.php'
  wget -q -O $fname $url
  value=`cat $fname`;
  date -s $value;
  rm $fname;

Testen

  • Skript erstellen (bspw. mit dem Dateinamen date.sh)
  • als Wert für url = http://sokai.name/date.php verwenden
  • Skript ausführbar machen (chmod +x date.sh)
  • Skript aufrufen (./date.sh)