path - 定时任务 : Command Not Found

标签 path cron environment-variables synology

我有一个 cronjob,如下所示:

*/10    *   *   *   *   root    cd /some/directory && python3 FILE.py >> Output.txt 2>&1

如果我从常规命令行运行该命令,它工作正常。但是当从 cronjob 运行时,我得到 /bin/sh: python3: not found

但是当我运行 echo $PATH 时它返回

/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin:/usr/local/python3/bin:/opt/bin

(注意/usr/local/python3/bin包含在这个目录下

我该如何解决这个问题?

最佳答案

似乎 cronjob 的环境与您的交互式 shell 不同。您可以编辑 cronjob 以使用绝对路径来调用该 python 脚本。或者您可以编写一个包装器 sh 脚本来准确设置 python 脚本所需的环境,并让 cronjob 执行它。

https://askubuntu.com/questions/23009/reasons-why-crontab-does-not-work

关于path - 定时任务 : Command Not Found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34141380/

相关文章:

path - 在 Julia 语言中添加到路径的命令

javascript - 发送警报通知时播放声音

linux - 脚本不在 cron 下运行,而是再次手动运行

linux - "env"和 "set"(在 Mac OS X 或 Linux 上)有什么区别?

Python:如何检查文件夹中的文件夹?

python - 如何从同级目录导入 Python 脚本?

IlmImf/cmake_install.cmake :84 (file): file INSTALL cannot find IlmImf. dll 处的 CMake 错误”

linux - @reboot 在 CRON 中不起作用

c# - 如何在 Path.Combine() 中使用环境变量?

python - 我如何告诉 POpen 使用/设置某些环境变量?