0

我正在尝试在 kubuntu 中安排一个带有 cron 的脚本。如果我逐行手动执行脚本,它运行得很好,但是使用 cron 调度它会引发以下 SyntaxError:

  File "/opt/django/myproject/myapp/cron/test.sh", line 4
    python manage.py mycustomcommand
                ^
SyntaxError: invalid syntax

脚本 test.sh 的内容如下:

#!/bin/bash
source /opt/virtualenvs/myvirtualenv/bin/activate
cd /opt/django/myproject
python manage.py mycustomcommand

基本上,该脚本会激活安装 django 的虚拟环境,然后访问我的项目路径,然后执行自定义 django 命令。如前所述,如果我手动执行此操作,则效果很好。

我也尝试在 cron 中安排具有正常和 root 权限的脚本(“crontab -e”和“sudo crontab -e”)

任何想法?谢谢!

4

1 回答 1

4

该错误建议您python manage.py mycustomcommand 从 Python 解释器中触发该命令(而不是作为 bash 命令)。

你可能有类似的东西

1 * * * * python /path/to/myscript/test.sh

在您的 crontab 条目中这是一个错误,应该是

1 * * * * /path/to/myscript/test.sh

反而。

于 2014-07-04T10:14:37.163 回答