我试图从cron运行Django管理命令.我正在使用virtualenv来保持我的项目沙箱.
我在这里和其他地方看过一些示例,它们显示了virtualenv中的运行管理命令:
0 3 * * * source /home/user/project/env/bin/activate && /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)
但是,即使syslog在任务应该启动时显示一个条目,该任务也从未实际运行(脚本的日志文件为空).如果我从shell手动运行该行,它将按预期工作.
我目前可以通过cron运行命令的唯一方法是打破命令并将它们放入一个愚蠢的bash包装器脚本中:
#!/bin/sh
source /home/user/project/env/bin/activate
cd /home/user/project/
./manage.py command arg
Run Code Online (Sandbox Code Playgroud)
编辑:
ars提出了一个有效的命令组合:
0 3 * * * cd /home/user/project && /home/user/project/env/bin/python /home/user/project/manage.py command arg
Run Code Online (Sandbox Code Playgroud)
至少在我的情况下,调用virtualenv的激活脚本什么也没做.这个有用,等等.
此 Play 安装python3、pip3、boto3和botocore,并尝试使用aws_s3模块下载文件:
TASK [run yum update -y using yum module]
**********************************************************************
ok: [ip-10-200-2-137.us-west-2.compute.internal]
TASK [Install python3 and pip3] *************************************************************************************************
changed: [ip-10-200-2-137.us-west-2.compute.internal]
TASK [Install boto3 and botocore with pip3 module] ******************************************************************************
changed: [ip-10-200-2-137.us-west-2.compute.internal]
TASK [Create a directory if it does not exist using file module] ****************************************************************
changed: [ip-10-200-2-137.us-west-2.compute.internal]
TASK [downlod file from s3 with aws_s3 module] **********************************************************************************
fatal: [ip-10-200-2-137.us-west-2.compute.internal]: FAILED! =>
{"changed": false, "msg": "Python modules \"botocore\" or \"boto3\"
are …Run Code Online (Sandbox Code Playgroud)