у нас есть требование контролировать состояние агента oem, скрипт работает нормально, когда выполняется sh .sh для получения статуса агента oem, требуется 55 секунд, чтобы получить вывод, записанный в файл, я использовал эту команду для выполнения backend и дождался ее завершения, но он не работает, когда сценарий запланирован через cron, он не ожидает завершения этой команды

Ценю любую помощь в этом отношении

ниже находятся записи crontab

########################OEM Script Monitoring#################################
0,10,20,30,40,50 * * * * /export/home/oraoem/scripts/emck.sh  > /dev/null 2>&1

-- cat emck.sh
#!/bin/bash
cd /export/home/oraoem/scripts
DBALIST="ramesh.mathur@zap.com"; export DBALIST
rm -f agent.exist
ps -ef | grep emagent | grep -v grep  > agent.exist
if [ -s agent.exist ]
then
cd $MY_AGENT_HOME/bin
./emctl status agent > /export/home/oraoem/scripts/agent.txt & echo $!
wait $!

grep "Number of XML files pending upload" /export/home/oraoem/scripts/agent.txt > /export/home/oraoem/scripts/agent6.txt
a=$(awk '{if ($8 >0) print "", $8}' /export/home/oraoem/scripts/agent6.txt)
b=$(grep "Agent is Running and Ready" /export/home/oraoem/scripts/agent.txt)
d=("Agent is Running and Ready")
if [ "$b" != "$d" ]
then
echo "OEM Agent is Not running ... .. " | mail -s "OEM Agent down on `hostname`" $DBALIST
elif [[ $a -gt 3 ]]
then
echo "Number of XML files pending upload : $a" | mail -s "OEM Agent upload problem on `hostname`" $DBALIST
fi
else
echo "OEM Agent down on `hostname`." | mail -s " OEM Agent down on `hostname`" $DBALIST
fi

##echo "OEM Agent is up and running on  `hostname`." | mail -s " OEM Agent up and running on `hostname`" $DBALIST

1 ответ1

-1

Попробуйте заменить "ждать" на "спать"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .