Python Scripte auf Raspberry Pi automatisch ausführen

MrTony

Lieutenant
Registriert
Feb. 2015
Beiträge
630
Hallo zusammen,

ich war auf der Suche nach einer "Server Lösung" für mich zu Hause, die möglichst wenig Strom verbraucht und 24/7 laufen soll. Habe mich dann für einen Raspberry Pi 4 entschieden im Komplettset mit Kühlrippen, Kühler und Gehäuse. Habe ihn schon im Desktopbetrieb verwendet und bin wirklich positiv überrascht.

Jetzt möchte ich ihn aber wie gesagt als "server" betreiben um darauf python scripte automatisiert laufen zu lassen. Dabei stellen sich mir aber zwei Fragen:

1. Aktuell ist Raspbian installiert. Habe ich irgend einen Vorteil davon, wenn ich eine abgespeckte Version davon bzw. auch eine richtige Server Version z.B. Ubuntu Server installiere?

2. Egal welches Linux OS es nun wird, was wäre denn der "Standardweg" Weg serverseitig ein python script automatisch auszuführen? Die zwei Varianten, die mir einfallen würden wären
  • Das ganze OS-seitig einzurichten und einen Cronjob zu nutzen, der das Script zu bestimmten Zeiten ausführt
  • Das ganze Python-seitig einzurichten und ein Script zu schreiben, das permanent läuft und die zu erledigenden Tasks dann scriptseitig über das Time-modul aussteuern

Weiß zufällig jemand, was hier die best Practices sind?
 
MrTony schrieb:
  • Das ganze OS-seitig einzurichten und einen Cronjob zu nutzen, der das Script zu bestimmten Zeiten ausführt
Würds so machen
 
  • Gefällt mir
Reaktionen: MrTony
Moinsen,

1. falls du den vollen Support und stabilen Betrieb haben willst empfehle ich dir das originale RaspberryOS (ehemals Raspbian) zu verwenden. Beim Serverbetrieb natürlich headless ohne GUI und mittels SSH. Ggf. sogar schon die 64-bit Variante wenn du etwas experimentierfreudig bist.

2. Cronjob einrichten und gut ist. Wird das sauberste sein.

VG Backes
 
  • Gefällt mir
Reaktionen: honky-tonk und MrTony
ob alle 30 minuten, öfter, seltener, dynamisch oder durch Trigger ausgelöst benötigt wird wissen wir nicht.
Abstellen kann man das logging durch
LogLevelMax=0 -> emergency logging only
oder halt
StandardOutput=null
StandardError=null
im unitfile :)

bei letzterem kommt dann absolut nichts mehr ins journal
 
Richtig, der Threadersteller hat nix von der Frequenz gesagt. Meine Empfehlung ist alles ins crontab was öfters als 1-2 mal am Tag ausgeführt werden muss, alles andere als systemd Timer.
madmax2010 schrieb:
bei letzterem kommt dann absolut nichts mehr ins journal
Nicht wirklich. Bin bin eigentlich davon ausgegangen, dass das Skript keinen stdout/stderr ausgibt. Ich meinte eher die ganzen systemd[1]: Starting... / Started ... Nachrichten. Die kann man nur global ausstellen und das will man nicht. Andererseits gibt es kein "grep -v" Äquivalent fürs Journal. Wenig durchdacht das Ganze.
 
Zurück
Oben