【问题标题】:Django/Python How should this cronjob be executedDjango/Python 这个 cronjob 应该如何执行
【发布时间】:2011-03-28 20:57:03
【问题描述】:

我创建了一个简单的 Python 脚本,允许我更新所选动物以显示在网站首页上。

当我在我的 ssh 中时,我会这样运行它。

cd /www/site/mydirectory
python perform_daily_action.py

如何在我的 crontab 中将其作为 cronjob 运行。

我试过了

30    09    *    *    *    cd /www/site/mydirectory;python perform_daily_action.py

虽然这似乎不起作用。

建议?

【问题讨论】:

  • python 脚本根本没有运行,还是因为工作目录错误导致 Python 脚本行为异常?你能在 /var/log/syslog 中看到什么吗?如果将这两行放在 shell 脚本中并让 cron 执行,它会起作用吗?
  • 不,根本没有运行。 @Flow 想出了一个简单的解决方案。

标签: python django apache2 cron crontab


【解决方案1】:

其他答案很好,我只建议对Python 解释器也使用完整路径,因为cron 环境可能与常规环境不同,并且在某些时候您可能想要切换到virtualenv 和那么你肯定需要virtualenv文件夹中的Python解释器。

【讨论】:

    【解决方案2】:

    尝试改用这个

    30    09    *    *    *    python /www/site/mydirectory/perform_daily_action.py
    

    【讨论】:

      【解决方案3】:

      您必须提供完整的 python 位置(例如 /usr/bin/python)和/或可能给您的机器一些关于 $PYTHONPATH 的指导。试试这个:

      30    09    *    *    * export PYTHONPATH=/www/site/mydirectory:.:$PYTHONPATH && /usr/bin/python /www/site/mydirectory/perform_daily_action.py
      

      【讨论】:

        猜你喜欢
        • 2017-12-01
        • 2021-01-22
        • 2018-10-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-16
        • 2014-03-21
        • 1970-01-01
        相关资源
        最近更新 更多