如何设置一个 cron 命令的路径

如何设置一个 cron 命令的路径

我编写了一个 cronjob 来每周重新启动一个明显内存泄漏的服务,并收到一封电子邮件,说killproc找不到该命令。

那是在 /sbin/killproc 中,我不想修改服务脚本,尽管我更喜欢它使用绝对路径,所以我选择通过 cron 来隐藏我的修复。

所以,我不想PATH按照手册页显然所说的那样设置 crontab 文件的顶部(根据我在互联网上看到的其他帖子,而不是我的手册页)。我怎样才能构建我的 crontab 行来为这个脚本设置一个路径变量(而不是完全压缩 root 的 PATH)?

太长;博士;

这就是我想做的

0 0 * * 0 /etc/init.d/tic_minus restart

这就是我想避免的

致:笨蛋

发件人:您所有的客户

停止 tic_minus:/etc/init.d/tic_minus:第 43 行:killproc:找不到命令

开始 tic_minus:

答案1

使用子 shell 来限制范围:

0 0 * * 0 (export PATH=$PATH:/sbin; /etc/init.d/tic_minus restart)

答案2

永远不要相信命令之前的 cron env -version => source env 设置。

0 0 * * 0 (. /usr/xx/myenv ; /some/cmd ) >> /usr/xx/mylog.log 2>&1

myenv 包含您需要的所有设置。 PATH 等。使用导出变量。

相关内容