从 Cron 返回的值与交互式返回的值不同

问题描述

以下检查以确保三个特定服务正在供应商应用程序中运行,如果没有,则发送警告电子邮件。当所有服务都在运行时,当命令在 bash(认)中以交互方式运行时,我收到的值为 3,因此会打印出不错的消息。然而,当通过 Cron 完成时,返回的值为零,这是不正确的。 $?输出 0,所以我不怀疑在 Cron 中执行时一定会发生任何错误。 crontab 作业在 root 下,这是我用来交互执行命令的用户

想法?


epVar=$(/opt/ais/bin/ais_status -l --instance Act_WLF -u admin -p password | egrep 'AML_EWLF_loadSearchConfigurationSublists|INFRA_DBQ_startQueueListener|AML_EWLF_startondemandRealtimeProcess' | /usr/bin/wc -l)
if [ $epVar -ne 3 ]; then
        echo $epVar > epVar.txt
        echo $? >> epVar.txt
        #/usr/sbin/sendmail -vt < RTEPMail.txt
else
        echo "All 3 RT services running :>)"
fi```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)