Crontab错误:Windows找不到指定的文件



我正试图使用此示例脚本在python:中测试crontab

from crontab import CronTab
tab = CronTab(user='www',fake_tab='True')
cmd = '/var/www/pjr-env/bin/python /var/www/PRJ/job.py'
cron_job = tab.new(cmd)
cron_job.minute().every(5)
#writes content to crontab
tab.write()
print tab.render()

返回时未定义错误"fake_tab"。如果我删除此参数并调用函数
像这样:CronTab(user='ww')。我返回以下错误:

Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
tab = CronTab(user='www')
File "C:Python27libsite-packagescrontab.py", line 160, in __init__
self.read(tabfile)
File "C:Python27libsite-packagescrontab.py", line 183, in read
p = sp.Popen(self._read_execute(), stdout=sp.PIPE)
File "C:Python27libsubprocess.py", line 711, in __init__
errread, errwrite)
File "C:Python27libsubprocess.py", line 948, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

有人知道吗,我错过了什么?

作为python crontab的作者,我可以报告文档已经更新。考虑到许多人对手册的含义感到困惑,这显然是无效的。

如果你这样做:

mem_cron = CronTab(tab="""
  * * * * * command # comment
""")

您应该有一个只有内存的crontab。如果您将文件作为crontab:

file_cron = CronTab(tabfile='filename.tab')

我一直在寻求改进代码和文档,所以请给我发电子邮件。

我认为Crontab是Unix/Linux的概念。不确定它是否能在窗户下工作。此页面显示"Windows支持仅适用于手动crontab"。但不知道他说的是什么意思。

我发现让crontab找到工作的最简单方法是:

settings.py(我使用django)中,我定义了以下变量:

CRONTAB_EXECUTABLE='C:/Users/myuser/myvirtualenv/Lib/site-packages/django_crontab/crontab.py'
CRONTAB_DJANGO_PROJECT_NAME='myproject'
CRONTAB_DJANGO_MANAGE_PATH='C:/Users/myuser/myvirtualenv/myproject/manage.py'
CRONTAB_PYTHON_EXECUTABLE='C:/Users/myuser/AppData/Local/Programs/Python/Python36-32/pythonw.exe'

注意斜线。它必须向右倾斜,否则会导致语法错误。

通过这种方式,crontab将找到作业或您试图执行的任何内容。就我而言,我正在尝试:

C:Usersbsimlearning3src>python manage.py crontab add

最新更新