首页 > 解决方案 > 为什么 crontab 不运行 python 脚本

问题描述

这就是我配置 crontab 的方式(通过使用crontab -e

* * * * * /home/jeff/Desktop/scripts/job_pull_queue.sh >> /home/jeff/Desktop/scripts/log.txt

这是内容/home/jeff/Desktop/scripts/job_pull_queue.sh

#!/bin/bash
echo "Running job_pull_queue.sh @ $(date)"
cd /home/jeff/Documents/code/some_project
echo $(printenv)
/home/jeff/miniconda3/bin/python -m util.main

现在的问题是,当./job_pull_queue.sh在终端中运行时,它可以工作,但是我可以从日志文件中看出crontab从未执行过最后一行/home/jeff/miniconda3/bin/python -m util.main(我可以在日志文件中看到前一个结果echo,但看不到 python 脚本本身),发生了什么?我如何解决它?

更新:这是printenvcrontab 运行时的结果

SHELL=/bin/sh PWD=/home/jeff/Documents/code/some_project LOGNAME=jeff HOME=/home/jeff LANG=en_US.UTF-8 SHLVL=0 PATH=/usr/bin:/bin OLDPWD=/home/jeff _=/usr/bin/printenv

标签: pythoncron

解决方案


行...

我的 Python 脚本从我的用户配置文件中读取了几个 env 变量,当然,这些变量在运行脚本时不存在crontab......

而且我没有检测/记录,所以我不知道缺少 env 变量。


推荐阅读