相关疑难解决方法(0)

Cron和virtualenv

我试图从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的激活脚本什么也没做.这个有用,等等.

python django cron virtualenv

210
推荐指数
9
解决办法
9万
查看次数

Ansible aws_s3 模块失败,提示 Boto3 丢失,而实际上它不是

此 Play 安装python3pip3boto3botocore,并尝试使用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)

ansible boto3

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

ansible ×1

boto3 ×1

cron ×1

django ×1

python ×1

virtualenv ×1