Crontab python script not run as planed but can run by hand

From 清冽之泉
Jump to navigation Jump to search

有一个 crontab 定时任务,设定了半个月了,今天一检查发现它压根儿没运行。

原任务:

20 6 * * * source /path/to/activate && /path/to/python /path/to/old.py && deactivate

网上检索,发现应该是 crontab 中的 py 脚本,找不到预设的 bash 环境变量,具体怎么解决我也不想深究。把运行 old.py 的以下环境变量,都写进以下 new.sh,新任务用 sh 脚本成功按预期运行。

#!/bin/bash
source /path/to/activate
/path/to/python /path/to/old.py
deactivate
>> /var/log/apache2/new.log 2>&1
# 这个脚本命名为 new.sh

新任务:

20 6 * * * /path/to/new.sh