Crontab 失败,因为找不到 shell 路径

cal*_*ker 2 cron 16.04

我正在查看我的 crontab 的失败输出。

* * * * * user /usr/bin/python3 /home/user/src/code/prod.py
Run Code Online (Sandbox Code Playgroud)

我收到错误 /bin/sh: 1: caleb: not found。

这对应于

X-Cron-Env: <SHELL=/bin/sh>
Run Code Online (Sandbox Code Playgroud)

这是 crontab 发给我的电子邮件的一部分。我创建了 crontab 使用

crontab -e
Run Code Online (Sandbox Code Playgroud)

所有这一切看起来都像一个简单的设置,有什么我遗漏的吗?

Tho*_*ard 5

如果您使用crontab -e该组 Cron 任务以crontab -e执行的用户身份运行 - 即您的 user user

因此,您应该只提供没有用户位的 cron 条目,即:

* * * * * /usr/bin/python3 /home/user/src/code/prod.py
Run Code Online (Sandbox Code Playgroud)

user您尝试使用的定义只应在系统crontab/etc/crontab和 .cron 定义下的条目中使用/etc/cron.d/

  • @Seamus 在使用 crontabs 时,通常*更好* 使用完整路径来排除该问题。 (2认同)