我试图在kubuntu中使用cron安排脚本。如果我逐行手动执行脚本,它会很好,但是使用cron计划它会引发以下语法错误:
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命令。如上所述,如果我手动操作,这可以正常工作。
我尝试使用普通权限和root权限在cron中安排脚本(" crontab -e"和" sudo crontab -e")
有什么想法吗?谢谢!
答案 0 :(得分:4)
该错误表明您从Python解释器中发出命令python manage.py mycustomcommand
(而不是作为bash命令)。
你可能有像
这样的东西1 * * * * python /path/to/myscript/test.sh
你的crontab条目中的是一个错误,它应该是
1 * * * * /path/to/myscript/test.sh
代替。