【问题标题】:How to configure crontab to run Django command?如何配置 crontab 来运行 Django 命令?
【发布时间】:2021-01-31 02:51:59
【问题描述】:

我运行的 Debian 10 系统具有以下名为“update.sh”的 shell 文件:

#!/bin/bash
cd home/user/djangoprojet
source /env/bin/activate
python manage.py update

我运行一个 root 用户并设置“chmod +x update.sh”。

当我运行“home/user/djangoprojet/update.sh”时,执行脚本可以完美运行。

我现在使用“crontab -e”每分钟运行一次脚本:

* * * * * home/user/djangoprojet/update.sh > testcron.log

但是,脚本没有被执行。当我运行“grep CRON /var/log/syslog”时,我得到以下结果,这表明 crontab 运行:

1 月 30 日 15:08:01 vServer CRON[22036]: (root) CMD > (home/user/djangoprojet/update.sh > testcron.log) 1 月 30 日 15:08:01 vServer CRON[22035]:(CRON)信息(未安装 MTA,丢弃输出)

位于根目录中的“testcron.log”文件是空的 - 尽管脚本在运行时会生成输出。

在 StackExchange 上的某个地方我也发现执行此命令

/bin/sh -c "(export PATH=/usr/bin:/bin; home/user/djangoprojet/update.sh </dev/null)"

效果很好。

如何正确配置 crontab 以便我的脚本运行?谢谢!

【问题讨论】:

    标签: python django cron debian


    【解决方案1】:

    我现在找到了解决方案:我需要在任何地方使用“/home/”而不是“home/”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      相关资源
      最近更新 更多