• Willkommen im Forum „Wetterstationsforum.info - Archiv“.
 

Neuigkeiten:

Dieses Forum dient ausschließlich zu Archivzwecken.
Für Fragen nutze bitte unser aktuelles Forum, welches du unter https://wetterstationsforum.info findest.

Hauptmenü

Meteohub, hochladen auf FTP Server erst ab 2 min Intervall möglich?

Begonnen von th.meissner, 22.12.2014, 14:58:51

⏪ vorheriges - nächstes ⏩

th.meissner

Auch wenn es für einige als umnötig betrachtet wird..... ich habe es jetzt geschafft das WD-Live alle 5 Sekunden aktualisiert wird. WD-Live läuft auf nun meinem Lokalen Synology Webserver, also ich ärgere mit den 5 Sekunden Intervall keinen Provider :-)

Hier das Script welches jede Minute durch die crontab aufgerufen wird:

clientraw_fast.sh
#!/bin/bash
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 5
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/
sleep 3
/srv/www/meteohtml.cgi /home/meteohub/clientraw.conf >/var/run/meteohub/clientraw.out; cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt;
sleep 2
cp -r /data/myweb/clientraw.txt /mnt/ "


Gruß und danke nochmal....

Thorsten

falk

Hallo Thorsten,

erst einmal Gratulation zur 5-Sekunden-Aktualisierung.  :top:

In der Softwareentwicklung gibt es aber eine Regel: Codeduplikate sollten möglichst vermieden werden. Diese Art von Software ist schwer zu warten und fehleranfällig. Selbst bei dir hat sich schon ein "sleep 5" eingeschlichen. Deshalb Verbesserungsvorschlag #1 mit Schleife


#!/bin/bash

for i in `seq 11`
do
  /srv/www/meteohtml.cgi /home/meteohub/clientraw.conf > /var/run/meteohub/clientraw.out
  cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt
  sleep 2
  cp /data/myweb/clientraw.txt /mnt/
  sleep 3
done



Die Schleife wird nur 11 Mal durchlaufen, also bis Sekunde 55. Nach 60 Sekunden startet ohnehin der Cron-Daemon das Skript neu.

Ich würde übrigens ein Skript starten, welches diese Befehle in einer Endlosschleife ausführt und das Skript dann mit den Daemontools überwachen. https://isotope11.com/blog/manage-your-services-with-daemontools
Das ist der Verbessungsvorschlag #2

Mit den Daemontools überwache ich auch meinen DIY-Datenlogger.


#!/bin/bash

while [ true ]
do
  /srv/www/meteohtml.cgi /home/meteohub/clientraw.conf > /var/run/meteohub/clientraw.out
  cp /var/run/meteohub/clientraw.out /data/myweb/clientraw.txt
  sleep 2
  cp /data/myweb/clientraw.txt /mnt/
  sleep 3
done


th.meissner

Hallo, Verbesserungsvorschlag 1 werde ich dann nehmen... Das überwachen mit Daemontools hört sich interessant an.... Nur die Anleitung einhält mir für meinen Geschmack zu viel Englisch