Alles klappt wunderbar für ca 4-5h dann stellt das script seine Arbeit und macht nichts mehr.
Wenn man mit ps nachschaut läuft es noch, allerdings reagiert es nicht mehr auf neue Dateien.
Komm mit dem debug nicht mehr weiter wegen mangelner Ideen woran es liegen könnte, daher frag ich mal hier.
Hier mal das script, ist noch nicht ganz fertig erfüllt seine primär Funktion aber schon jedenfalls für n Stunden :/
Code: Alles auswählen
#!/usr/bin/python2.7
# Notifier example from tutorial
#
# See: http://github.com/seb-m/pyinotify/wiki/Tutorial
#
import pyinotify
import fnmatch
from os.path import basename
import smtplib
from time import strftime
import logging
import sys
mailto = 'my@mail.de'
mailacc = 'senderaccount@gmx.net'
smtppass = '*********'
#### DONT WORK JET########
logger = logging.getLogger()
hdlr = logging.FileHandler('/tmp/dispo_debug.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.DEBUG)
########################
def folder ( event ):
print "Folder Function"
for n in event:
if fnmatch.fnmatch ( event.lower(), '*hanse*'):
return "Hanseservice"
elif fnmatch.fnmatch ( event.lower(), '*intime*'):
return "Intime"
else:
return 'ERROR IN GET FOLDER'
def filename ( event ):
print "Filename Function"
return basename ( event )
def send_e_mail ( ifolder, ifilename, fpath):
print "send_e_mail Function"
server =smtplib.SMTP('mail.gmx.net')
debug = server.set_debuglevel(1)
server.ehlo()
server.starttls()
server.ehlo
server.login( mailacc, smtppass)
header = 'TO:' + str(mailto) + '\n' + 'From:' + str(mailacc) + '\n' + 'Subject:Neue Datei >' + str(ifilename) + '< von ' + str(ifolder) + '\n'
msg = header + '\n Die neue Datei finden sie unter' + fpath +'\n\n'
server.sendmail(mailacc, mailto, msg)
server.quit()
debug_log( debug, fpath )
def debug_log ( debug , fpath ):
print "Debug Function"
timestamp = strftime( "%Y-%m-%d %H:%M:%S" )
f = open ("/tmp/dispo_mail_debug_log", "a")
f.write ('\n' + timestamp + '\n' + str(fpath) + '\n' + str(debug) + '\n')
f.close()
wm = pyinotify.WatchManager() # Watch Manager
mask = pyinotify.IN_CREATE # watched events
class EventHandler(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event):
print "Find File:", event.pathname
ifolder = folder ( event.pathname )
ifilename = filename (event.pathname )
fpath=( event.pathname )
send_e_mail( ifolder, ifilename, fpath)
handler = EventHandler()
notifier = pyinotify.Notifier(wm, handler)
hanse_inv = wm.add_watch('/home/hanse/INV', mask, rec=True)
hanse_umlagerung = wm.add_watch('/home/hanse/Umlagerung', mask, rec=True)
hanse_wa = wm.add_watch('/home/hanse/WA', mask, rec=True)
hanse_we = wm.add_watch('/home/hanse/WE', mask, rec=True)
intime = wm.add_watch('/home/intime', mask, rec=True)
#
#notifer.loop() ohne daemonize hat selbes Problem
#
try:
notifier.loop( daemonize=True, pid_file='/tmp/dispo_mail.pid', stdout='/tmp/dispo_stdout.txt' )
except pyinotify.NotifierError, err:
print >> sys.stderr, err
Gibt leider 0 Fehlermeldungen wenns es nicht mehr reagiert
