Python Script startet nicht automatisch

  • Liebe Leute,


    ich habe ein Python Skript (nicht von mir geschrieben), welches die Verbindung zwischen meiner B&R SPS (Mapp-Funktionsblock) und der mySql Datenbank die am Raspberry läuft, herstellt.


    Mit dem Terminal Command: "python /home/pi/Python-3.8.4/mappdatabaseconnector.py 3310 127.0.0.1 3306 mysql 60" funktioniert es auch prächtig und der Connector wartet auf die Daten aus der SPS und schreibt sie in die Datenbank.


    Das sieht dann so aus im Terminal:


    Zur Info: Der Befehl "python" startet das Skript mit Python 3.8 anstatt mit Python 2.x welches vorinstalliert am Raspi ist.


    Jetzt möchte ich diese Kommandozeile automatisch bei jedem Start des Raspis ausführen, bekomme dies aber nicht hin.


    Habe versucht es mit diesem Script zu lösen, welches beim Start von Raspbian ausgeführt wird:


    #!/usr/bin/sh


    python /home/pi/Python-3.8.4/mappdatabaseconnector.py 3310 127.0.0.1 3306 mysql 60


    Dieses liefert mir aber eine Fehlermeldung:



    Es sieht so aus als würde der user "root" versuchen das Skript auszuführen und nicht wie oben der user Pi im Terminal.


    Weiß jemand was hier das Problem sein könnte? Wahrscheinlich für die erfahrenen Benutzer eine Kleinigkeit :)


    Besten Dank und liebe Grüße!

  • Hallo,


    wie wird das Shell-Skript denn ausgeführt? Der normale Weg wäre, dir eine systemd Service Unit zu schreiben, die die direkt das Python-Skript startet. In der Unit kannst du auch festlegen, unter welchem Nutzer das Skript läuft und dass das Skript erst startet, wenn die Datenbank auch schon verfügbar ist.


    Gruß, noisefloor