2017-12-16 13 views
0

Ich benutze Python-Crontab, um eine einfache Aufgabe für jede Stunde zu erledigen. Erstens, wenn ich es als every hour einstelle, führt es every minute aus. Zweitens, ich bin nicht in der Lage über user job iterieren, es wirft mir den Fehler:Python crontab funktioniert nicht

Sequence can not be divided by zero or max 

Dies ist mein Code:

#!/usr/bin/env python3 
from crontab import CronTab 
import getpass 

user = getpass.getuser() 
print (user) 
my_cron = CronTab(user = user) 

flag = True 
for job in my_cron: 
    print (job) 
    if job.comment == 'kkk': 
     flag = False 
     break 

if flag: 
    job = my_cron.new(command='/usr/bin/python3 /home/'+user+'/projects/elb_poc/src/xxx.py', comment='kkk') 
    job.hour.every(1) 
    my_cron.write() 

Antwort

1

Es funktioniert nicht so. Denken "crontab Weg" - "jede 1" ist nur * in Crontab-Datei. Sie sollten lieber verwenden:

job.minute.on(0) 

Ihr Code bedeutet "alle 1 Stunde jede Minute" - das ist, wie Sie gesagt haben - alle 1 Minute.

python-crontab manual