MySQL DB mit cronjob updaten
- 
Ich habe das MediathekView Plugin in LibreElec laufen. Es benutzt eine MySQL DB (8.0) auf einem Ubuntu-Server. 
 Das funktioniert eigentlich gut, aber die Performance beim Update der DB (und beim Download von Filmen) könnte besser sein, vornehm gesagt.
 Der Grund dafür ist wohl mein Setup:- Die mediathekview DB liegt auf dem Server, der über Ethernet verbunden ist.
- LibreElec läuft auf einem Pi3+ der über Wlan verbunden ist.
- Die Medienverzeichnisse, auch das für die Mediathek-Downloads, liegen auch auf dem Server. Dafür hat der Server eine eigene Partition, die auf dem Pi über nbd (network block device eingehängt ist. Das funktioniert gut.
 Die Download-Performance ist eigentlich erträglich. Der Flaschenhals ist der Update der DB: Kodi verbindet sich mit dem Mediathekview-Server (Wlan), holt die Daten und schreibt sie in die DB (wieder Wlan). 
 Ich sehe zwei Lösungen des Problems;- Die Updates auf dem Pi kann man deaktivieren. Dann soll der Server die DB-Updates regelmäßig machen, über einen cronjob aktiviert. Geht das, und wenn ja, wie? Der Server ist headless und soll es auch bleiben.
- Ich besorge mir einen Switch und spendiere so dem Pi eine Eth-Verbindung statt des Wlans - ist wahrscheinlich einfacher und stabiler, kostet aber nochmal Strom für den Switch.
 Was meint ihr? 
- 
Schau mal in das README unter “Standalone Datenbank”. Dort findest du den Aufruf des Scripts (./mvupdate mysql -H … -P … -u … -p …) welches dann als Cron eingebunden werden kann. Im Client (Pi3) dann natürlich das Update abschalten. 
 Im Readme gibt es auch noch Erklärungen für Docker, wenn das für dich besser passt.
- 
@codingPF 
 Vielen Dank, das war sehr hilfreich!Ich hatte die README schon gelesen, aber wohl nicht genau genug. Den Part, dass man das ganze Plugin-Verzeichnis auf den Server kopieren muss und dann ja mit installiertem Python die Update-Prozedur ausführen kann, habe ich glatt missverstanden und übergangen (das sah so nach Kodi-Plugin aus). Merkwürdig: ein voller Update hat super funktioniert, nun bekomme ich bei jedem Aufruf die Meldung 2024-02-13 16:39:11.974334 ERROR [mvupdate3-0.0]: Unable to find version information: ParseError not well-formed (invalid token): line 1, column 1Der Updater scheint aber zu tun, was er soll. Folgendes ist mir noch aufgefallen: 
 Gibt man den Parameter -H localhost an, gibt es eine Exception. Ohne -H funktioniert es für localhost.Für Nachahmer: 
 mvupdate3 muss ja im Pluginverzeichnis aufgerufen werden, sonst geht’s nicht. Also schiebe ich den ganzen Inhalt des Pluginverzeichnissses nach ~/.mvupdate und mache folgende Prozedur:#!/bin/bash cd /home/mylogin/.mvupdate ./mvupdate3 mysql $1 -u myuser -p mypass 2> /home/mylogin/.mvupdate/upd.logDie crontab schaut dann so aus: 0 4 * * * /home/mylogin/.mvupdate/mvupdate -F */30 9-23 * * * /home/mylogin/.mvupdate/mvupdate -fAlso wird alle 30 Minuten zwischen 8:00 und 24:00 ein kleiner Update und um 04:00 ein voller Update gemacht. 
 So läuft das erst mal perfekt und ich spare mir weiter den Switch.
- 
Deine Probleme schau ich mir mal an - ich benutze das Feature selbst nicht. Wenn du weitere findest, dann mach bitte ein GIT Issue auf - dort ist es besser aufgehoben. 
 Zu deinem Setup:
 Die Filmliste wird nur ein Mal pro Stunde erstellt. Ein 30 min Intervall somit nicht nötig/sinnvoll.
 Du musst/solltest auch nicht mit -f -F arbeiten. Wenn du die Parameter weg nimmst, sollte er jede Stunde Updates ziehen und morgens um 5 ein komplettes Update machen. Prüfen/Aufrufen kannst du dann auch in kürzeren Intervallen. Also einfach mal Parameter (-f / -F) löschen und schauen was passiert. Mit -v (-v -v -v) gibs auch logs…
- 
UPDATE Prozedur mvupdate #!/bin/bash cd $HOME/.mvupdate ./mvupdate3 mysql [-v -v] -u myuser -p mypass [>>upd.log 2>&1]Die Debug-Ausgabe und das Schreiben einer Logdatei kann man sich sparen, wenn alles läuft. 
 Die Prozedur muss ausfphrbar sein.
 Die crontab schaut so aus:0 4 * * * $HOME/.mvupdate/mvupdate 0 9-23 * * * $HOME/.mvupdate/mvupdateAlso wird jede zwischen 9:00 und 23:00 ein kleiner Update und um 04:00 ein voller Update gemacht. 
 Falls die Updates um eine Stunde nach vorn verschoben sind, dann hat cron UTC als Zeitzone. Das kann man wie folgt ändern:
 Trage in die Datei /etc/default/cron folgende Zeile ein:TZ="Europe/Berlin"und starte cron neu. 
- 
 I iks-jott verschob dieses Thema von Fragen, Hilfe, Kritik am I iks-jott verschob dieses Thema von Fragen, Hilfe, Kritik am
