如何解决从 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 举报,一经查实,本站将立刻删除。