o comando wait é ignorado ou não funciona quando o script shell é chamado através do cron

0

temos requisito para monitorar o status do agente oem, o script está funcionando bem quando executar sh .sh para obter o status do agente oem requer 55s para obter a saída gravada no arquivo, usei esse comando para executar backend e aguardar até que o comando completa, mas não está funcionando quando o script está agendado através do cron, ele não está esperando até que o comando seja concluído

Aprecie qualquer ajuda nesse sentido

abaixo estão as entradas do 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="[email protected]"; 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
    
por RameshMathur Mulagaleti 26.07.2016 / 13:50

1 resposta

-1

Tente substituir "espera" por "dormir"

    
por 26.07.2016 / 14:48

Tags