gpt4 book ai didi

bash - Crontab 不使用 .bashrc 中定义的 django 环境变量

转载 作者:行者123 更新时间:2023-12-04 18:45:54 28 4
gpt4 key购买 nike

我有一个使用 中定义的环境变量的 django 应用程序。 .bashrc 文件。 django 应用程序正在获取 .bashrc 文件中定义的值。

我需要在 crontab 中运行 python 管理命令。通常这很容易定义。您可以在脚本中定义管理命令并将其添加到 cron 或直接在 cron 中使用该命令。

但是在这个可以 cron 没有得到 .bashrc 文件中定义的环境变量的值。我已经尝试了几乎所有找到的文档,但仍然无法正常工作。

这是我使用的脚本:

WORKON_HOME=/home/ubuntu

PROJECT_ROOT=/home/ubuntu/projects/

. $WORKON_HOME/virtuals/bin/activate

cd $PROJECT_ROOT

python manage.py COMMAND

在我使用的 cron 选项卡中:
*/2 * * * * /home/ubuntu/test.sh

此设置在所有其他情况下都有效。现在执行 cron 时出现错误。但是脚本在手动执行时有效。

最佳答案

cron-job 不是交互式 shell。所以.bashrc不会被采购。您必须在脚本或 crontab 本身中手动执行此操作。

应该这样做:

*/2 * * * * source /home/ubuntu/.bashrc ; /home/ubuntu/test.sh

关于bash - Crontab 不使用 .bashrc 中定义的 django 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41262968/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com