PythonScript via Cronjob starten geht nicht

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • [font="Arial"]Hallo Community,[/font]

    [font="Arial"]ich habe ein Problem auf meinem Raspberry Pi. Es werden keine Scripte über die Cronjobs ausgeführt. Wenn ich als User "Pi" in der Shell den Befehl zum starten des Py-Scripts eintrage, funktioniert es tadellos. Bitte um Hilfe![/font]


    [font="Arial"]Ausgabe bei sudo crontab -e:[/font]

    [font="Arial"]SHELL=/bin/sh[/font]
    [font="Arial"]PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin[/font]
    [font="Arial"]# Prozesse beim Reboot des Systems[/font]
    [font="Arial"]@reboot /usr/bin/python /home/pi/scripts/stromausfall.py[/font]
    [font="Arial"]@reboot /usr/bin/python /home/pi/scripts/systemok.py[/font]
    [font="Arial"]# zeitlich-gesteuerte Prozesse[/font]
    [font="Arial"]0 * * * * /usr/bin/python /home/pi/scripts/systemok.py[/font]
    [font="Arial"]*/5 * * * * python /home/pi/scripts/cputemp.py [/font]
    [font="Arial"]*/5 * * * * /usr/bin/python /home/pi/scripts/speicherplatz.py [/font]
    [font="Arial"]
    In allen Scripten steht das Shebang #!/usr/bin/python am Anfang drin. Ich habe auch schon #!/usr/bin/env python probiert.[/font]

    [font="Arial"]Dieser Cronjob wird automatisch problemlos ausgeführt: * * * * * /usr/bin/python /home/pi/scripts/systemok.py . [/font][font="Arial"]Das ist der Inhalt des Scriptes:[/font]

    [font="Arial"]#!/usr/bin/python[/font]
    [font="Arial"]fehlercode = 0[/font]
    [font="Arial"]if fehlercode == 0:[/font]
    [font="Arial"] fehlercode = str(0)[/font]
    [font="Arial"] import smtplib[/font]
    [font="Arial"] smtpUser = 'XXXXXX'[/font]
    [font="Arial"] smtpPass = 'XXXXXX'[/font]
    [font="Arial"] toAdd = ['XXXXXX', 'XXXXXX'][/font]
    [font="Arial"] fromAdd = 'XXXXXX'[/font]
    [font="Arial"] subject = 'BATL0001 [Status: ' + fehlercode + ']'[/font]
    [font="Arial"] header = 'To: ' + ", ".join(toAdd) + '\n' + 'From: ' + fromAdd + '\n' + 'Subject: ' + subject[/font]
    [font="Arial"] body = fehlercode[/font]
    [font="Arial"] print header + '\n' + body[/font]
    [font="Arial"] s = smtplib.SMTP('smtp.googlemail.com',587)[/font]
    [font="Arial"] s.ehlo()[/font]
    [font="Arial"] s.starttls()[/font]
    [font="Arial"] s.ehlo()[/font]
    [font="Arial"] s.login(smtpUser, smtpPass)[/font]
    [font="Arial"] s.sendmail(fromAdd, toAdd, header + '\n\n' + body)[/font]
    [font="Arial"] s.quit()[/font]

    [font="Arial"]Das zweite Script cputemp.py funktioniert nicht im Crontab, aber funktioniert ebenfalls in der Shell. Der Code ist etwas anders:[/font]

    [font="Arial"]#!/usr/bin/python[/font]
    [font="Arial"]import sys, os[/font]
    [font="Arial"]os.system("sh cputemp.sh")[/font]
    [font="Arial"]tempobj = open("cputemp.txt")[/font]
    [font="Arial"]for line in tempobj:[/font]
    [font="Arial"] temp = line.rstrip()[/font]
    [font="Arial"]tempobj.close()[/font]
    [font="Arial"]temperatur = float(temp)[/font]
    [font="Arial"]temperaturschwelle = 45[/font]
    [font="Arial"]if temperatur>temperaturschwelle:[/font]
    [font="Arial"] fehlercode = str(13)[/font]
    [font="Arial"]import smtplib[/font]
    [font="Arial"]smtpUser = 'XXXXXX'[/font]
    [font="Arial"]smtpPass = 'XXXXXX'[/font]
    [font="Arial"]toAdd = ['XXXXXX', 'XXXXXX'][/font]
    [font="Arial"]fromAdd = 'XXXXXX'[/font]
    [font="Arial"]subject = 'BATL0001 [Status: ' + fehlercode + ']'[/font]
    [font="Arial"]header = 'To: ' + ", ".join(toAdd) + '\n' + 'From: ' + fromAdd + '\n' + 'Subject: ' + subject[/font]
    [font="Arial"]body = fehlercode[/font]
    [font="Arial"]print header + '\n' + body[/font]
    [font="Arial"]s = smtplib.SMTP('smtp.googlemail.com',587)[/font]
    [font="Arial"]s.ehlo()[/font]
    [font="Arial"]s.starttls()[/font]
    [font="Arial"]s.ehlo()[/font]
    [font="Arial"]s.login(smtpUser, smtpPass)[/font]
    [font="Arial"]s.sendmail(fromAdd, toAdd, header + '\n\n' + body)[/font]
    [font="Arial"]s.quit()[/font]

    [font="Arial"]Alle Dateien gehören dem User "Pi", die Lese-/Schreibrechte sind auf 777 gesetzt und sollten ausgeführt werden können.[/font]

    [font="Arial"]Falls jemand eine Idee hat wäre ich sehr dankbar, ich kämpfe nun schon einige Zeit mit dem Problem... :X [/font]

    [font="Arial"]Grüße[/font]
    [font="Arial"]Fabian[/font]

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!