Daten aus FHEM auf den Webserver übertragen
Um einige Daten (zum Beispiel für die aktuellen Spritpreise) von meinem FHEM-Server ins Netz zu übertragen nutze ich ein (unschönes, aber funktionierendes) Skript, welches zunächst per wget
die gewünschten SVG-Dateien aus FHEM abruft und anschließend per ftp
hochlädt.
Nach dem x-ten Neuaufsetzen des Servers funktionierte das Skript nicht mehr, was im Wesentlichen daran lag, dass es keine FTP-Zugangsdaten mehr hatte.
Diese hatte ich aus Sicherheitsgründen nicht im primären Skript, sondern in einer separaten Datei namens .netrc
im home
-Verzeichnis.
Da ich den Aufbau nicht mehr im Kopf hatte hier zur Erinnerung die notwendigen Infos:
- Die Datei .netrc muss im
home
-Verzeichnis des Users liegen, der denftp
-Befehl aufruft. - Sie darf nur für den User lesbar sein:
chmod 600 .netrc
(unter raspbian gerne auch mit vorangestelltemsudo
) - Inhalt (für mehrere Login-Daten einfach mehrere Machinen anlegen):
machine ftp.server login MeinName password istmeinPasswort
- Ab sofort funktioniert der Zugriff mittels
ftp ftp.server
Allerdings bin ich bei der Recherche (wieder einmal) auf curl
gestossen. Damit sollte ist es möglich sein, meinen bisherigen wget-speichern-ftp-upload-rummel mit einer pipe zu verkürzen, ungefähr im Sinne von curl fhem-server/svg | curl -T - ftp://mysite.org/svg
. Und damit curl seinerseits meine o.g. .netrc
nutzt, muss ich das nur mit -n
als zusätzlichem Parameter beim Upload angeben. 1,2
[1] stackoverflow, abgerufen 2017-07-27
[2] haxx.se, abgerufen 2017-07-27
Gib auch Du Deinen Senf dazu