Python-Script ausführen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

GeoRage

Benutzer
Registriert
22. Juni 2023
Beiträge
3
Reaktionspunkte
0
Punkte
1
Hallo zusammen,

Ich möchte ein PythonScript über die Aufgabenplanung täglich ausführen.
Das Script selbst liest ein Google-Sheet, filtert auf Einträge und sofern gegeben, wird eine Mail versendet.

über ssh und dem Befehl 'sudo python3 script.py' lässt sich das Script wunderbar ausführen.
Ohne sudo wiederum nicht. Dann kommen fehler, als wenn die Pakete die ich benutze nicht installiert wären (zB GoogleAPI).
(Also ich vermute ein Rechte-Problem - da pip und sämtliche Pakete anscheinend nur als Admin verfügbar sind)
Einfach den Befehl von oben in die Aufgabenplanung einzufügen hat auf jeden Fall nicht geholfen.

Ich habe leider nur gefährliches Halbwissen was die Synology oder Datei-Rechte-Management auf der Konsole angeht.
Ich hoffe es kann mir hier jemand helfen.

Das Script habe ich auf meinem PC geschrieben und dann auf die NAS kopiert.
 
Wenn das Script root-Rechte braucht, musst du die Aufgabe erstellen und den User "root" hinterlegen. Dann kannst du das sudo auch weglassen

EDIT: Willkommen im Forum!
 
Herzlichen Dank! ;)
In wieweit muss ich dann meinen Pfad anpassen?
ist das dann "../volume1/homes/user/script.py" ?
 
Zuletzt bearbeitet von einem Moderator:
Ich würde einfach den vollen Pfad mit Dateiname hinterlegen: /volume1/homes/user/script.py
 
Try and Error haben es auch getan (hatte zuvor nur nen kleinen Tippfehler)
Beziehungsweise habe ich es so gefolgt wie du geschrieben hast! ;)
So funktioniert es auf jeden Fall schon mal. Ganz lieben Dank!

Um es eleganter zu haben, wie könnte ich das nun als mein Benutzer ausführen (der ja eigt auch Admin ist)?
Oder ist es am Ende egal, dass es der root ist, der das Script ausführt?
 
Admin != root
Ein Admin ist bei DSM ein User, der Vollzugriff auf alle Funktionen der GUI hat.
Dies merkst du auch, wenn du dich via ssh verbindest. Da der User nicht in der Gruppe "root" ist, kann er Befehle nur mit root-Rechten ausführen, wenn er "sudo" voranstellt. Ein Admin hat aber das Recht, mit dem Befehl "sudo -i" zu root zu werden. Letzten Endes läuft das Script also via ssh auch als root, wenn du es mit sudo ausführst. Eigentlich ist das eher ein Sicherheitsfeature von Linux und damit ist es bereits "elegant".
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat