Meteohub mit SFTP

Von sich aus unterstützt Meteohub, das unsere Wetter-Webseite mit den Daten unserer Wetterstation versorgt, nur das FTP Protokoll, um die Daten auf den Webserver zu schieben. Neben der Tatsache, daß FTP ein unverschlüsseltes Protokoll ist, was heute ein Anachronismus sein sollte, bieten viele Webhoster heute auch nur noch verschlüsselte Uploadmethoden an.

Letzteres gilt auch für mein kürzlich umgestelltes Webspace-Paket, in dem die Wetterseite untergebracht ist. Zwar habe ich noch eine Möglichkeit, unverschlüsseltes FTP zu nutzen, aber erstens ist das unverschlüsselt (siehe oben), zweitens fehleranfällig, dazu auch noch häßlich und zwei Webspace Pakete brauche ich eigentlich auch nicht.

Also habe ich mir überlegt, ob ich auf meinem Meteohub Server nicht auch SFTP verwenden könnte und siehe da, ich habe eine funktionierende Lösung gefunden. Im Prinzip bringt Meteohub – mit Ausnahme eines kleinen Softwarepaketes – schon alles mit, was wir brauchen.

SFTP ist nämlich in der Meteohub-Installation durchaus vorhanden, die einzige Schwierigkeit für mich war, daß ich mein Webspace-Paket nur mit der SFTP-password Methode erreiche, nicht aber zum Beispiel, indem ich den öffentlichen Schlüssel des Meteohub-Benutzers hinterlege.

Für dieses Problem gibt es aber eine Lösung: sshpass erlaubt, das Passwort an das SFTP Kommando zu übergeben, so daß man SFTP aus der crontab heraus aufrufen kann.

Allerdings ist das Paket sshpass nicht nativ in Meteohub enthalten, deshalb installieren wir es zunächst:

$ sudo apt-get install sshpass

Damit das Paßwort für unseren Webspace nicht irgendwo in der Kommandozeile steht, hinterlegen wir es in einer Datei, die nur für den root Benutzer (der die crontab ausführt) lesbar ist:

$ sudo vi /root/webspace.txt
$ sudo chmod 600 /root/webspace.txt

Achtung! Das Paßwort steht immer noch im Klartext in dieser Datei. Wer also Zugang zum root Benutzer Eures Meteohub Servers hat, kann das Paßwort auch lesen – der Server sollte also entsprechend gesichert sein, so wie selbstverständlich auch das Paßwort Eures Webspace-SFTP-Benutzers möglichst lang und komplex ausfallen (und nach Möglichkeit regelmäßig gewechselt werden) sollte.

Leider ist SFTP nicht so schön scriptfähig wie ncftpput, sondern eigentlich zum interaktiven Einsatz gedacht. Deswegen legen wir eine Batch Datei mit den notwendigen FTP Kommandos an, die die generierten Daten in ihr Zielverzeichnis übertragen:

$ sudo vi /root/webspace.batch

Diese Datei sieht bei mir wie folgt aus:

cd /path/to/your/destination/dir
mput /var/run/meteohub/uploads/*
bye

Das einzige, was jetzt noch fehlt, ist der crontab Eintrag. Ihr editiert die Crontab des root Benutzers mit

sudo crontab -e

Den oberen Eintrag, den ich auskommentiert habe, hatte ich in Meteohub über das Webinterface für die unverschlüsselte FTP Verbindung angelegt – beachtet dabei das FTP-Paßwort im Klartext. Den zweiten Eintrag habe ich manuell eingetragen, er nutzt unsere Paßwort- und die Batch-Datei, um die von Meteohub generierten Daten in den SFTP Webspace zu laden:

#*/1 * * * *    sleep 20; [ -z "`ls /var/run/meteohub/uploads/`" ] || [ -n "`/bin/pidof /usr/bin/ncftpput`" ] || /usr/bin/ncftpput -S .tmp -R -V -DD -u "user@your_ftp_webspace.tld" -p 'your_ftp_password' -P 21 ftp.your_ftp_host.tld . /var/run/meteohub/uploads/* 2>&1 | /usr/bin/logger
*/1 * * * *     sleep 20; [ -z "`ls /var/run/meteohub/uploads/`" ] || [ -n "`/bin/pidof /usr/bin/sshpass`" ] || /usr/bin/sshpass -f /root/webspace.txt /usr/bin/sftp -oBatchMode=no -b /root/webspace.batch your_sftp_user@your_sftp_host.tld 2>&1 > /dev/null

Die 80er leben

Ich räubere ja musikalisch auch gerne mal in Gefilden abseits der ausgetretenen Pfade des Mainstream und als ich heute gemütlich auf der Couch liegend einige Youtube-Dokumentarfilme konsumierte, stieß ich auf eines, das erklärte, warum man Track 1 einer CD-ROM nicht in einem Audio-CD-Spieler abspielen sollte: Well, it would be rude not to try… 

Gut, im Grunde genommen ist das nichts neues und mittlerweile auch schon wieder Wissen, das man nur noch selten braucht – oder wann hast Du Deine letzte CD-ROM mit Audio Tracks in Händen gehalten? Interessant war jedoch sein erstes Experiment. Dazu benutzte er nämlich einen guten alten Ghettoblaster aus den 90ern, der neben CDs auch noch Cassetten abspielen konnte.

Letzteres demonstrierte er mit einer fürchterlich pinkfarbenen Cassette, von der ich am ehesten erwartet hätte, daß sie ein Kinderhörspiel enthält – aber nein. Die alte Regel, Bücher nicht nach ihrem Umschlag zu beurteilen, griff auch hier: es handelt sich um eine Musik-Cassette. Was ich da hörte, gefiel mir ganz gut, also suchte ich nach dem Interpreten und Titel.

Das Ergebnis überraschte mich: die Produktion fand sich nämlich nicht auf einer der Platzhirsch-Plattformen, sondern auf Bandcamp. Die Musik selbst ist konzipiert als Soundtrack für einen fiktiven Zeichentrickfilm, wie er in den 80er Jahren hätte produziert werden können. Veröffentlicht wurde das Werk im Oktober 2018, also noch gar nicht so lange her.

Ich freue mich ja immer, daß die Musik meines Lieblingsjahrzehnts bis heute Musiker weiter inspiriert. Obwohl das Konzept des Soundtracks für einen fiktiven Film ja ein durchaus bekanntes Sujet ist (mir fiele da zum Beispiel auf Anhieb „Mr. Roboto“ von Styx aus dem fiktiven Musical „Kilroy was here“ ein), ist das Album trotzdem eine kleine Rarität, denn seien wir ganz ehrlich: die 80er sind nunmal lange vorbei.

Die Musik ist jedoch gefällig, ich fühle mich dadurch in die Zeit der Amiga-Spiele zurückversetzt und in die musikalische Welt eines Chris Hülsbeck. Mir gefällt‘s und vielleicht gefällt‘s ja Euch auch, es würde mich freuen. Und jetzt höre ich lieber auf zu schwärmen und gebe Dir lieber den Link zu Nightlights – The Crystal Mountain