Я использую Python 2.7
.Мое требование - создать основное задание cron, которое будет вызываться каждые 20 минут.Задание cron создает другое задание cron, которое запускается каждые 2 минуты.Когда вызывается основное задание 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, которое печатает "helloworld" каждые 2 минуты:
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
не вызывает дочернее задание cron «hello.py» с комментарием «helloworld».Как решить эту проблему?
Это мой вывод crontab -l:
root@xyz:~/cron# crontab -l
*/20 * * * * python /root/cron/writeDate.py # helloworld