crontab 找不到单词

crontab 找不到单词
 sid="GR1"

   if sapcontrol -prot PIPE -nr $sid -prot PIPE -function GetSystemInstanceList | grep 'GRAY' >> $LOGFILE
    then
       echo "STATE: SAP system is offline. (sapcontrol)" >> $LOGFILE
       echo "STATE: SAP system is offline. (sapcontrol)"
    else
       echo "ERROR: SAP system is still online. (SAP system has to be online)" >> $LOGFILE
       echo "ERROR: SAP system is still online. Check the logs. (sapcontrol)"
       exit 1 
    fi

这个状态脚本手动工作正常,但如果我用 crontab 执行它,它就不行。它没有找到“GRAY”,但它是灰色的。 SAP 日志被创建,因此脚本被执行,但它在 SAP 检查的脚本部分停止。

答案1

当使用非默认 RHEL 的软件包时,我们会遇到此类问题。 Cron 的运行环境可能与我们在前台运行的环境不同。

我们可能需要提供命令的完整路径。

sapcontrol使用以下命令找到路径。

 whereis sapcontrol 

它可能是 /bin/sapcontrol 或 /usr/local/bin/sapcontrol

更新脚本中获取的完整路径并尝试一下。

相关内容