Hallo,
ich habe vor längerer Zeit bereits einen Raspberry erhalten. Bislang dümpelte er vor sich hin und hat die Wetterdaten aufgezeichnet. Aktuell ist er in den Vordergrund gerückt, da ich für eine kleinere Auswertung automatisiert Aktien-/Währungsdaten ziehen und speichern möchte.
Dazu gibt es einmal folgendes Shell-Script (stocks.sh):
#!/bin/sh
# Daten holen
curl -s 'http://download.finance.yahoo.com/d/quotes.csv?s=BAS.DE,DAI.DE,USDEUR=X,WBA,WFC,WTR&f=snl1de7jke8rc4&e=.csv' | tee /home/pi/aktien/daten.csv
Das Script wird nach vorgegebenen Zeiten mittels Cronjob aufgerufen und ausgeführt (crontab).
Bis dahin funktioniert alles tadellos. Die Datei daten.csv enthält immer die aktuellen Daten.
Dann habe ich ein PHP-Script, welches die Daten aus der daten.csv in eine MySQL-Datenbank übertragen soll. Rufe ich es in der Konsole mittels
auf, dann läuft es durch und die Daten sind in der Datenbank.
Die Datei ist mittels chmod +x index.php ausführbar gemacht und enthält zudem den Shebang
Versuche ich aber das Script durch die stocks.sh aufzurufen mittels
oder
dann werden keine Daten übertragen.
Auch der Aufruf mittels Cronjob schlägt fehl:
Um zu prüfen, ob das PHP-Script überhaupt läuft, erzeugt dieses am Ende eine Datei update.info, in welcher sie das Datum und die Uhrzeit speichert. Manuell in der Konsole ausgeführt, funktioniert es - egal ob ich die index.php über die stocks.sh aufrufe oder ob ich sie direkt starte. Das Ganze via Cronjob schlägt fehl - sowohl wenn der Aufruf durch die stocks.sh erfolgt, wie auch direkt als eigener Cronjob.
Lasse ich die Ausführung per Cronjob erledigen, läuft mir mit der Zeit der Speicher des Raspberry voll, weil zwar jedes Mal die index.php aufgerufen, aber nicht beendet wird.
Ich habe schon nach diversen Lösungen gesucht, aber bislang will das bei mir einfach nicht funktionieren. Die Daten landen nicht in der Datenbank - außer bei manuellem Aufruf. Irgendwelche Ideen, wo der Fehler stecken könnte?