Sortierbare HTML-Tabelle mit sort, awk und printf erstellen...


  • Gesperrt

    Huhu, ich möchte eine sortierbare HTML-Tabelle mit sort, awk und printf mit Systemstatistiken erstellen und sie einmal pro Tag per E-Mail an mich senden...

    Das ist mein bisheriger Ansatz:

    dockerstats=$(docker stats --no-stream | sort -k 2)
    dockerdf=$(docker system df)
    dfm=$(df -m)
    freem=$(free -m)
    output1=$(printf "%s\n\n%s\n\n%s\n\n%s" "$dockerstats" "$dockerdf" "$dfm" "$freem")
    echo "$output1"
    

    Das versenden der mail ist kein Problem, vielmehr ist das Generieren des HTML s ein Problem. Die dockerstats-Tabelle sollte im Thunderbird nach Spalten sortierbar sein-

    Ich hab noch keine Ahnung, wie das geht, und ob auch JS in E-Mails erlaubt ist. Zurzeit packe ich einfach alles in <pre>-Tags.

    Habt ihr ne Idee?

    Das ist bisher die einzige SO-Frage dazu: https://stackoverflow.com/questions/11486756/creating-an-html-table-with-bash-awk

    In einem anderen Forum hat man mir geraten, die Tabelle auf einen externen Webserver bereitzustellen. Was, mit Verlaub, ich für Quatsch halte. Das ist so, als wenn man gebrannte Mandeln möchte, aber Kekse bekommt (Metapher).



  • @nameName sagte in Sortierbare HTML-Tabelle mit sort, awk und printf erstellen...:

    Das ist so, als wenn man gebrannte Mandeln möchte, aber Kekse bekommt (Metapher).

    manchmal gibt es aber eben nur kekse, javascript wird nämlich wahrscheinlich gesperrt sein, um zu verhindern, dass da irgendwer mist macht.

    reicht es denn nicht, wenn die liste einfach auf dem server sortiert wird? warum willst du überhaupt ne email mit den statistiken haben und lässt die daten nicht einfach auf dem server? das mit dem externen webserver (installier dir halt apache!) ist doch ne super idee. emails oder sms würde ich nur raus schicken, wenn da innerhalb der nächsten paar minuten dringend gehandelt werden muss, z.b. weil die festplatte voll ist oder so.



  • Naja, man könnte ja beides machen. Email mit statischer, nicht-sortierbarer Tabelle, und Link auf Webseite wo das ganze dann mit JavaScript sortierbar gemacht wird.
    Alternativ kann man ein .csv verschicken. Das lässt sich dann mit Excel bzw. quasi jeder Tabellenverarbeitung aufmachen.


  • Gesperrt

    @hustbaer sagte in Sortierbare HTML-Tabelle mit sort, awk und printf erstellen...:

    Alternativ kann man ein .csv verschicken. Das lässt sich dann mit Excel bzw. quasi jeder Tabellenverarbeitung aufmachen.

    Ja, aber dann brauche ich (neben dem Thunderbird) doch wieder ein zusätzliches Programm... Erfahrungsgemäß ist das zu aufwendig.

    Es muss doch einen Weg geben.



  • Die Frage hat ja nun zwei Hälften, damit das Ganze funktioniert:

    1. muss die generierte Mail nicht nur die docker stats Tabelle enthalten, sondern auch den JS-Code zum Umsortieren, und
    2. muss Thunderbird erlauben, dass der Code ausgeführt wird, sprich, dass umsortiert wird.

    Zu 1: enthält der HTML-Teil deiner Mail entsprechenden Code? Oder nur die nackte Tabelle?

    zu 2: JS könnte in den erweiterten Einstellungen vom Thunderbird ausgeschaltet sein, suche dort nach javascript.enabled und prüfe, ob der Wert true oder false ist. Aber wie mein Vorredner oben schrieb, ist das auch eine Sicherheitsfrage. Bei mir ist JS aus gutem Grund ausgeschaltet, und das würde ich auch wegen einer solchen Tabelle nicht ändern.


  • Gesperrt

    Die Argumentation ist richtig. Danke.

    Externes, einbindbares JavaScript wäre in E-Mails im Allgemeinen nicht erlaubt, oder?

    Nicht falsch verstehen, ich möchte nicht, dass der Standard, wenn es einen gibt..., geändert würde - ich frage mich gerade nur, wieso Tabellen mit Sortierfunktion nicht schon im HTML(5)-Standard drin sind...

    Klar, HTML ist eine Auszeichnungssprache... Aber Videos, etc. gibt es doch auch schon. Wieso nicht mal was nützliches? 😉



  • die funktionalität von videos beschränkt sich auch nur auf "play" und "pause".

    der allgemeine stand der technik besteht eben darin, ein webinterface zur verfügung zu stellen, weil jeder computer (desktop, laptop, tablet, smartphone) einen browser vorweisen kann und so keine zusätzliche software benötigt wird, die erstmal umständlich von irgendwo installiert werden muss.

    jeden tag ne email, dass alles in ordnung ist, ist einfach - naja - unnötig; wenns läuft, dann läufts!


Anmelden zum Antworten