OpenSuse 中 CRON 的 $PATH 变量

OpenSuse 中 CRON 的 $PATH 变量

我编写了一个脚本,该脚本在终端上运行完美,但是在通过 crontab 调用时出现错误。我花了一段时间才发现问题出在 cron 环境而不是我的脚本上。

所以在网上阅读各种帖子后我尝试了几个选项:

* * * * * PATH=/home/sam/bin:/home/sam/scriptbin/ /path/to/script 没用

* * * * * bash -lc /path/to/script没用

* * * * * /path/to/script没用

`PATH=blahdeblah
* * * * * jobdejob` Didn't work

如何更改$PATHOPENSUSE 中 crontab 的变量或包含在 cron 文件中以使其正常工作。我使用的是 open suse 11。

谢谢!

答案1

两种方式;首先,一些 cron 守护进程允许设置环境变量:

PATH=blahdeblah
* * * * * jobdejob

其次,使用该env(1)实用程序,然后该实用程序运行实际作业:

* * * * * env PATH=blahdeblah jobdejob

三!在 cron 作业中使用完全限定的路径。不,不,正如 Jeff 所说,有四种方法可以在脚本中设置路径:

#!/bin/sh
PATH=blahdeblah
...

第五,无情的奉献PATH

相关内容