Benutzer:Sokai/Router-Tricks: Unterschied zwischen den Versionen

Aus Freifunk Potsdam | Wiki
Zur Navigation springen Zur Suche springen
K (+date-Skript)
 
K (angehübscht)
 
Zeile 6: Zeile 6:
* ein Server, der einen aktuellen <code>timestamp</code> hat, kann ja diesen (in der korrekten Form) per <code>http</code> ausliefern
* ein Server, der einen aktuellen <code>timestamp</code> hat, kann ja diesen (in der korrekten Form) per <code>http</code> ausliefern
* ein FFF-Skript liest diesen <code>timestamp</code> bei jedem Neustart (oder auch per <code>cron</code> etc.) per <code>wget</code> aus und setzt das Datum neu
* ein FFF-Skript liest diesen <code>timestamp</code> bei jedem Neustart (oder auch per <code>cron</code> etc.) per <code>wget</code> aus und setzt das Datum neu
* die Seite kann mit <code>wget</code> nur per <code>http</code> oder <code>ftp</code> gelesen werden,
* die Seite sollte gleich das korrekte Format für die FFF liefern, damit mit diesem beim Setzen des Datums nicht noch "rumgespielt" werden muss,


=== Lösung ===
=== Lösung ===
==== Server ====
==== Server ====
* die Seite kann nur per <code>http</code> oder <code>ftp</code> 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,
* die Seite wird mittels PHP generiert,
* der Code der Seite sieht so aus:
* der Code der Seite sieht so aus:
Zeile 35: Zeile 35:
=== Testen ===
=== Testen ===
* Skript erstellen (bspw. mit dem Dateinamen <code>date.sh</code>)
* Skript erstellen (bspw. mit dem Dateinamen <code>date.sh</code>)
* als Wert für <code>url</code> = <code>http://sokai.name/date.php</code> verwenden
* <code>http://sokai.name/date.php</code> als Wert für <code>url</code> verwenden
* Skript ausführbar machen (<code>chmod +x date.sh</code>)
* Skript ausführbar machen (<code>chmod +x date.sh</code>)
* Skript aufrufen (<code>./date.sh</code>)
* Skript aufrufen (<code>./date.sh</code>)

Aktuelle Version vom 28. September 2008, 12:09 Uhr

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
  • die Seite kann mit wget nur per http oder ftp gelesen werden,
  • die Seite sollte gleich das korrekte Format für die FFF liefern, damit mit diesem beim Setzen des Datums nicht noch "rumgespielt" werden muss,

Lösung

Server

  • 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)
  • http://sokai.name/date.php als Wert für url verwenden
  • Skript ausführbar machen (chmod +x date.sh)
  • Skript aufrufen (./date.sh)