我正在使用Python 2.7
。我的要求是创建一个主cron作业,该作业将每20分钟被调用一次。 cron作业将创建另一个每2分钟运行一次的cron作业。调用主cron作业时,它将删除所有带有注释'helloworld'
的作业。
这是我的代码:主要的cron作业:cronJobTest.py:
from crontab import CronTab
my_cron = CronTab(user='root')
for job in my_cron:
if job.comment == 'helloworld':
my_cron.remove(job)
my_cron.write()
job = my_cron.new(command='python /root/cron/writeDate.py', comment='helloworld')
job.minute.every(20)
my_cron.write()
writeDate.py将创建另一个cron作业,每2分钟打印一次“ helloworld”:
import datetime
from crontab import CronTab
with open('dateInfo.txt', 'a') as outFile:
outFile.write('\n' + str(datetime.datetime.now()))
print "Starting helloworld"
my_cron = CronTab(user='root')
job = my_cron.new(command='python /root/cron/hello.py', comment='helloworld')
job.minute.every(2)
my_cron.write()
hello.py:
print "Hello World"
当我运行主要cron作业:cronJobTest.py时,它将每隔20分钟运行程序writeDate.py
,该程序将日期输出到文件中。但是writeDate.py
不会调用带有注释“ helloworld”的子cron作业“ hello.py”。如何解决此问题?
这是我的crontab -l输出:
root@xyz:~/cron# crontab -l
*/20 * * * * python /root/cron/writeDate.py # helloworld