Seite 1 von 1

Python Script in der Aufgabenplanung von SmallBusinessServer

Verfasst: Donnerstag 17. Februar 2011, 08:44
von The Spirit
HI.
Habe auf unserem SBS2008 ein Python script, was täglich um 00:30 ausgeführt wird.
Dieses checkt unseren FTP auf Änderungen und schreibt, falls änderungen vorhanden sind, diese in ein logfile mit zeitstempel.
Führe ich das script direkt aus, kann ich mögliche änderungen mit zeitstempel in einem logfile finden.
wenn ich das script aber im aufgabenplaner starten lassen, checkt das script zwar den ftp (sehe den zugriff), aber es schreibt nichts in das logfile.
auch wenn ich die aufgabe händisch im aufgabenplaner anwerfe, wird das script korrekt ausgeführt, aber wiederum nichts in das logfile geschrieben.
jemand ne idee woran das liegen kann?
danke

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 08:47
von sparrow
Wie genau schreibst du denn in die Logdatei?

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 09:27
von The Spirit

Code: Alles auswählen

FILE = open(filename,"a")
falls sich was ändert schreibe ich:

Code: Alles auswählen

FILE.writelines(str("Änderung am: ") + str(actual_time) + str("\t") + str(i))
falls sich nichts geändert hat:

Code: Alles auswählen

FILE.writelines("Änderung am: " + str(actual_time) + str("\t") + "Es wurden keine Änderungen gemacht.")
zuletzt kommt noch (in beiden fällen):

Code: Alles auswählen

FILE.writelines("\n")
FILE.close()

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 09:44
von sparrow
Was ist denn filename? Absoluter oder relativer Pfad? Und welches Verzeichnis?

Edit: Und mit welchen Rechten lässt du das Script laufen?

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 09:59
von The Spirit
hab das script in ne exe konvertiert, damit ich auf dem server kein python installieren muss.
die exe führe ich mit lokalen admin rechten aus und der pfad ist relativ angegeben.

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 10:03
von sparrow
The Spirit hat geschrieben:die exe führe ich mit lokalen admin rechten aus und der pfad ist relativ angegeben.
Versuch mal einen absoluten Pfad ('c:\\testlog.txt')
Ich hatte auf einem 2003-Server einmal das Problem, dass die Verknüpfung auf das Programm das Arbeitsverzeichnis zerreißt. Ich bin mir nicht sichr welches der Task-Sheduler heutzutage verwendet.

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 10:04
von The Spirit
fehler gefunden.
möglicherweise war es der absolute pfad, aber das wollte ich eigentlich nciht ändern.
hab jetzt gesagt, das das ausführungsziel der ordner meines programms ist, und voila, er schreibt auch in das logfile, welches im gleichen ordner liegt.

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 12:04
von BlackJack
@The Spirit: Diese ganzen `str()`-Aufrufe sehen mir nicht nach Python aus. Und Namen in komplett Grossbuchstaben sind eigentlich für Konstanten vorgesehen.

Last but not least: `writelines()` erwartet ein iteriertbares Objekt und schreibt jedes Element davon per `write()` in die Datei. Und Zeichenketten sind iteriertbar -- sie liefern jedes Zeichen einzeln. Besonders effizient ist das so nicht.

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 13:00
von The Spirit
danke für die hinweise.
dann werd ich das mal überarbeiten.

edit:
wie würdest du das dann mit dem write in das logfile machen?

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 13:28
von sparrow

Code: Alles auswählen

FILE.writelines(str("Änderung am: ") + str(actual_time) + str("\t") + str(i))
wird zu:

Code: Alles auswählen

FILE.write("Änderung am: %s \t %i" % (actual_time, i))
Falls i ein Integer ist.


Ungetestet...


Edit: dein String-Zeugs ist aber auch unübersichtlich ;)

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 13:56
von The Spirit
des war auch schnell zusammengeschubst.

ich hab das aktuell draus gemacht:

Code: Alles auswählen

logfile.writelines("Änderung am: " + str(actual_time) + "\t" + str(i))
zusatz:
das mit den writelines hab ich auch genommen, weil mir das object FILE oder jetzt logfile (ist das gleiche, hab hier nur die variable getauscht) nur writelines direkt in eclipse angeboten hat ;-)

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 14:07
von Xynon1
Äh, verwendest du PyDev? - dort wird sehr wohl auch "write" direkt bei einem File Object angeboten.

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 14:16
von The Spirit
jo tu ich.
hab es jetzt auch gesehen.
könnte aber schwören, das das vorher nicht da war.
danke für den hinweis.

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Donnerstag 17. Februar 2011, 21:22
von Leonidas
The Spirit hat geschrieben:ich hab das aktuell draus gemacht
Also den Tipp ignoriert. Interessante Formulierung.

Re: Python Script in der Aufgabenplanung von SmallBusinessSe

Verfasst: Freitag 18. Februar 2011, 07:22
von The Spirit
war nicht als ignorieren gedacht.
aber hatte zwischenzeitlich schon mal aus

Code: Alles auswählen

str("blabla")
einfach schon mal

Code: Alles auswählen

("blabla")
gemacht.
aber den tip hab ich natürlich schon umgesetzt. :wink: