No meu caso costumo utilizar o MQ 5.3 que apesar de ser muito bom não tem nativamente alguns recursos que poderiam ajudar em momentos difíceis.
Se você tem muitos canais de MQ estabelecidos sabe que será trabalhoso restabelecer todos caso alguma desgraça aconteça, ainda mais se for envolver terceiros no processo.
Esse script resolve o caso. ele pega o numero sequencial que a outra ponta espera e sincroniza os canais sozinhos. faz o que um bom analista faria só que muito mais rápido, só depende dos tempos de retryng do mq =)
Obs:
Diretorio: /var/mqm/qmgrs/QMGR/errors
tail -f AMQERR01.LOG |
awk -v teste=0 '{
if ( /AMQ9526:/ )
{
c = $8
channel = substr(c,2,(length(c)-3))
teste = 1
}
if (teste) {
if ( /amqrmtra/ || /amqrfpta/ ) {
system("echo \"STOP CHL("channel")\" > reset")
system("echo \"RESET CHL("channel") SEQNUM("seqnum")\" >> reset")
system("echo \"START CHL("channel")\" >> reset")
system("echo \"END\" >> reset")
system("cat reset | runmqsc QMGR > reset.log")
system("cat reset.log")
teste = 0}
else{if ( $1 ~ /number./ ) {seqnum = $7}}
}
}'
exit
Nenhum comentário:
Postar um comentário