Daten aus FHEM auf den Webserver übertragen

Um eini­ge Daten (zum Bei­spiel für die aktu­el­len Sprit­prei­se) von mei­nem FHEM-Ser­ver ins Netz zu über­tra­gen nut­ze ich ein (unschö­nes, aber funk­tio­nie­ren­des) Skript, wel­ches zunächst per wget die gewünsch­ten SVG-Datei­en aus FHEM abruft und anschlie­ßend per ftp hoch­lädt.
Nach dem x-ten Neu­auf­set­zen des Ser­vers funk­tio­nier­te das Skript nicht mehr, was im Wesent­li­chen dar­an lag, dass es kei­ne FTP-Zugangs­da­ten mehr hat­te.
Die­se hat­te ich aus Sicher­heits­grün­den nicht im pri­mä­ren Skript, son­dern in einer sepa­ra­ten Datei namens .netrc im home-Ver­zeich­nis.
Da ich den Auf­bau nicht mehr im Kopf hat­te hier zur Erin­ne­rung die not­wen­di­gen Infos:

  • Die Datei .netrc muss im home-Ver­zeich­nis des Users lie­gen, der den ftp-Befehl auf­ruft.
  • Sie darf nur für den User les­bar sein: chmod 600 .netrc (unter raspbi­an ger­ne auch mit vor­an­ge­stell­tem sudo)
  • Inhalt (für meh­re­re Log­in-Daten ein­fach meh­re­re Machi­nen anle­gen):
    machine ftp.server
            login MeinName
            password istmeinPasswort
  • Ab sofort funk­tio­niert der Zugriff mit­tels ftp ftp.server

Aller­dings bin ich bei der Recher­che (wie­der ein­mal) auf curl gestos­sen. Damit soll­te ist es mög­lich sein, mei­nen bis­he­ri­gen wget-spei­chern-ftp-upload-rum­mel mit einer pipe zu ver­kür­zen, unge­fähr im Sin­ne von curl fhem-server/svg | curl -T - ftp://mysite.org/svg. Und damit curl sei­ner­seits mei­ne o.g. .netrc nutzt, muss ich das nur mit -n als zusätz­li­chem Para­me­ter beim Upload ange­ben. 1,2

[1] stack­over­flow, abge­ru­fen 2017-07-27
[2] haxx.se, abge­ru­fen 2017-07-27

Gib auch Du Deinen Senf dazu