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일 수 있습니다.
스크립트에서 얻은 전체 경로를 업데이트하고 시도해 보세요.