我正在使用以下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中这个作业的保存位置,以及作业在指定时间后没有运行/工作。
知道我做错了吗?
答案 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