使用python_crontab计划的作业不起作用

时间:2017-01-05 10:32:46

标签: python python-3.x ubuntu cron crontab

我正在使用以下python代码来安排ubuntu中的工作。

from crontab import CronTab
cron = CronTab(user='username')
job  = cron.new(command='/usr/bin/python3 /home/(user)/Desktop/Schedular/ScheduleInvoicingUtility.py >> /home/(user)/Desktop/Schedular/Logs.txt')
job.setall('*/2 * * * *')        
cron.write()
print(cron.render())

代码运行成功,它的渲染功能打印输出如下:

*/2 * * * * /usr/bin/python3 /home/(user)/Desktop/Schedular/ScheduleInvoicingUtility.py >> /home/(user)/Desktop/Schedular/Logs.txt

但是不知道ubuntu中这个作业的保存位置,以及作业在指定时间后没有运行/工作。

知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

最后,我通过微小的修改解决了这个问题。这是从python正确创建cron作业的代码:

cron = CronTab(user=True)
job  = cron.new(comment='My_Unique_Job', command='/usr/bin/python3 /home/(user)/Desktop/Schedular/ScheduleInvoicingUtility.py >> /home/(user)/Desktop/Schedular/Logs.txt')
job.setall('*/2 * * * *')
cron.write()

使用此功能删除具有相同ID的先前作业。

cron.remove_all(comment='My_Unique_Job')

完整的代码将是:

cron = CronTab(user=True)
cron.remove_all(comment='My_Unique_Job')
job  = cron.new(comment='My_Unique_Job', command='/usr/bin/python3 /home/(user)/Desktop/Schedular/ScheduleInvoicingUtility.py >> /home/(user)/Desktop/Schedular/Logs.txt')
job.setall('*/2 * * * *')
cron.write()

不要忘记导入CronTab:

from crontab import CronTab

使用pip安装python_crontab。

pip install python_crontab