首页 > 解决方案 > Django-crontab - 错误:sh:第 1 行:/usr/bin/crontab:没有这样的文件或目录

问题描述

我按照文档

在我的 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,没有添加任何工作。

在这一点上,我不知道该怎么办。需要帮忙。

标签: pythondjangocron

解决方案


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

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


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

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

sudo apt-get update    
sudo apt-get install cron

推荐阅读