Django-crontab - 错误:sh:第 1 行:/usr/bin/crontab:没有那个文件或目录

时间:2021-03-12 09:37:16

标签: python django cron

我关注了documentation

在我的 django 项目特定的 venv (myproject/venv) 中,我安装了 django-crontab[0.7.1] 使用命令:

(venv) pip3 install django-crontab

添加到 settings.py

INSTALLED_APPS = (
 ...

'django_crontab',

)

CRONTAB_COMMAND_SUFFIX = '2>&1'

CRONJOBS = [
('*/1 * * * *', 'django.core.management.call_command', ['my_command'])
]

接下来当我运行 python manage.py crontab add 时出现错误:

(venv) python manage.py crontab add
/bin/sh: line 1: /usr/bin/crontab: No such file or directory
adding cronjob: (b27648b2dab947d53fe7e8c052bcd9a7) -> ('*/1 * * * *', 
'django.core.management.call_command', ['my_command'])
sh: line 1: /usr/bin/crontab: No such file or directory

但是我手动检查了 /usr/bin/ 并且我看到一个名为 crontab 的文件存在。

之后,当我运行 python manage.py crontab show 时,没有添加任何作业。

此时我不知道该怎么办。需要帮助。

1 个答案:

答案 0 :(得分:0)

编辑:好的,我想我明白这个问题了。该脚本在虚拟环境中运行,因此无法访问cron。我不知道完全解决这个问题,但我想你可以检查这个页面给出的解决方案:https://codeinthehole.com/tips/running-django-cronjobs-within-a-virtualenv/

替代解决方案,只需在没有 Venv 的情况下运行脚本。


您的系统上似乎没有安装 Cron。

试试这个(如果你使用的是 Ubuntu 或任何其他基于 Debian 的发行版):

sudo apt-get update    
sudo apt-get install cron