Shell-Skript erzeugt html-Datei

  • Hallo zusammen,

    folgendes soll gezeigt werden:

    - Shellskript

    -> Liest einen Temperatur und Feuchtigkeitssensor aus

    -> erzeugt mit ausgelesenen Daten eine html-Datei

    -> lädt diese alle 10 Sekunden per FTP auf einen Webserver

    [font="monospace"]html_erzeuger.sh[/font]

    Ich war gezwungen ein "Start-Skript" zu scheiben, weil ich nicht wusste wie ich es sonst lösen hätte können. Meine ursprüngliche Überlegung war es, das vorhin gezeigte Skript ([font="monospace"]html_erzeuger.sh[/font]) sich selbst aufrufen zu lassen. (Ich wollte eine rekursive Endlosschleife erzeugen, hat aber nicht funktioniert.):

    [font="monospace"]start_wetter.sh[/font]

    Natürlich ist das erst der Anfang eines noch größeren Projekts. Ich wollte einfach auf die schnelle irgendetwas basteln das funktioniert. Es ist vielleicht nicht der schönste Code und außerdem bin ich noch ein ziemlicher Neuling was Linux und Programmieren angeht.

    Ich würde mich sehr über Anregungen und Tipps freuen wie ich das Programm eventuell noch verbessern oder vereinfachen kann. Auch wäre ich dankbar, wenn ihr mich auf unsauberen Code aufmerksam macht und ich somit nicht unnötig viele Sicherheitslücken verursache, die es einem Angreifer womöglich leicht machen würde irgend einen Quatsch zu machen.

    EDIT: Hier der Link zur Webseite: http://www.supernova.w4f.eu/

    Einmal editiert, zuletzt von TremorTerrae (22. Mai 2017 um 23:43)

  • Zur Sicherheit:

    * Statische Webseiten sind sehr sicher, da kann kaum was passieren wenn man sie selber erzeugt
    * Bei FTP gehen die Login-Daten im Klartext ueber die Leitung, das ist eher schlecht

    Zum Ansatz:

    * Alle 10 Sekunden eine HTML-Seite bauen und transferieren??!!
    (Wie schnell aendern sich die Daten ueberhaupt?)

    Gibt es keine Moeglichkeit, auf dem Server was zu machen?
    Dann brauchen nur die aktuellen Daten uebertragen zu werden, und die Seite wird auf dem Server zusammengebaut.

  • So etwas ähnliches habe ich gerade unter:

    Monitoring BME280 (Temperatur, Luftdruck, Luftfeuchtigkeit, Taupunkt ...)
    eingestellt, Vielleicht ist etwas nützliches dabei...

    MfG

    Jürgen

  • Tell:
    Ich frage die Daten alle 10 Sekunden vom Sensor ab. Und lade Sie auch im 10 Sekundentakt hoch. Ich weiß das ganze ist vielleicht ein bisschen zu schnell, und das ganze soll vorerst nur dem Test dienen.
    Mein Ziel ist es, genau wie Du gesagt hast, die Daten zu übertragen und dann die Seite auf dem Server bauen zu lassen. Auch soll alles in einer MySQl-Datenbank gespeichert werden und ein grafischer Verlauf Temperatur und Feuchtigkeitsverlauf erzeugt werden. Nur bisher habe ich keine Ahnung wie das funktioniert und ich lese mich im Moment deshalb zu MySQL und PHP schlau ;)


    Jürgen Böhm:
    Vielen Dank, vielleicht kann ich ja einige Anregungen aus deinem Thread mitnehmen :)

    Einmal editiert, zuletzt von TremorTerrae (22. Mai 2017 um 23:58)

  • Das einzige was deine vom bash Script erzeugte index,html dynamisch macht ist $HTML_DATEN und das scheint einfach nur der Inhalt der wetter.log zu sein. Also wieso bindest du in der HTML nicht statisch die wetter.log Datei ein und überträgst dann nur alle 10 Sekunden die wetter.log ? :s

    [code=php]<embed src="wetter.log">[/php]

    Am besten wärs aber die überträgst nur die Rohdaten in eine MySQL und deine Webseite ruft die dann ab.

  • meigrafd:

    Zum ersten Tipp:
    Ich wusste garnicht, dass das geht. Ich werde das auf jedenfall mal ausprobieren. Vielen Dank :)

    Zum zweiten Tipp:
    Das war meine ursprüngliche Idee. Nur hat man bei w4f keinen direkten Zugriff auf die MySQL-Datenbank von außen. Es gibt nur einen Zugang über FTP, sodass ich voerst dieses Skript zusammengebastelt habe :) Es ist ja bestimmt irgendwie möglich, die Wetterdaten in eine Textdatei auf dem Server übertragen zu lassen, und dann der Datenbank zu sagen, dass sie sich die Daten daraus nehmen soll. Das wäre so die einzige Möglichkeit die ich sehe.
    Wenn jemand eine elegantere Möglichkeit sieht, bitte immer her damit. Auch Kritik an meinem Vorschlag ist natürlich Herzlich Willkommen :)

Jetzt mitmachen!

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