python - 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
,没有添加任何工作。
在这一点上,我不知道该怎么办。需要帮忙。
解决方案
编辑:好的,我想我理解这个问题。该脚本在虚拟环境中运行,因此无法访问 cron。我不知道完全解决这个问题,但我认为你可以检查这个页面给出的解决方案:https ://codeinthehole.com/tips/running-django-cronjobs-within-a-virtualenv/
替代解决方案,只需在没有 Venv 的情况下运行脚本。
您的系统上似乎没有安装 Cron。
试试这个(如果你在 Ubuntu 或任何其他基于 Debian 的发行版上):
sudo apt-get update
sudo apt-get install cron
推荐阅读
- android - Android Studio中的导入源代码模块不起作用
- javascript - 一个函数里面有两个函数,一个作为道具,一个作为函数
- python - 限制python中2个持续时间之间的时间戳列?
- python - 对值也是字典的字典进行排序?
- python - Python假设中元组/元素列表的函数
- javascript - 选择下拉菜单时自动填充文本框
- algorithm - 被编码测试难倒-令人发指的问题-请提出建议
- c++20 - 将 libfmt 与旧版 API 一起使用
- cumulocity - 使用 Angular cli 时代理到 Cumulocity 租户
- python - 在 PyTorch Lightning 中运行多个模型的问题