【发布时间】:2015-12-22 03:58:33
【问题描述】:
我想就 python-crontab 模块寻求帮助。我有一个简单的 shell 脚本来使用 curl 命令录制互联网广播流。我想通过在 crontab 中安排录音来提前安排录音。我找到了允许我直接写入 crontab 的 python-crontab 模块。但是每次我安排新的录制时,旧的 crontab 条目都会被覆盖。是否可以使用 python-crontab 编写持久的 crontab 条目?
我简化了代码来演示我的问题:
from crontab import CronTab
def get_recording_parameters(Min,Hour,day,month,job_number):
radio_cron = CronTab()
cmd = "sh /home/pifik/Documents/record_radio.sh"
cron_job = radio_cron.new(cmd, comment='job_'+str(job_number))
cron_job.setall(Min, Hour, day, month, None)
radio_cron.write()
如果我使用以下参数运行它:get_recording_parameters(0,22,23,12,1),并使用 crontab -l 命令检查终端中的 crontab,我得到 0 22 23 12 * sh /home/pifik/文件/record_radio.sh #job_1。 如果我使用不同的参数再次运行它,例如:get_recording_parameters(10,23,25,12,2) 并使用 crontab -l 检查 crontab,我得到 10 23 25 12 * sh /home/pifik/Documents/record_radio.sh # job_2,job 1被覆盖。
我尝试将第三行代码更改为 radio_cron = CronTab(tabfile='/home/pifik/Documents/filename.tab') 并且它有助于将所有新条目附加到 filename.tab 但没有写入任何内容到 crontab。 我正在运行 Ubuntu 14.04 和 Python 3.4.3。
【问题讨论】:
-
这看起来很像一个错误。当然不是预期的行为。我将编写一个测试用例来尝试捕获它,待命。
标签: python linux python-3.x crontab cron-task