Executamos backups RMAN por meio de tarefas CRON, mas encontramos os e-mails prontos para uso com CRON para quase fazer o que queremos. Eu sei que podemos canalizar a saída do RMAN para /dev/null para que nenhum e-mail seja enviado, o que para qualquer execução bem-sucedida do RMAN é o resultado desejado, mas se o trabalho do RMAN apresentar um erro, eu gostaria que a saída padrão completa enviado por e-mail para a equipe de DBA para revisão. Suspeito que possa agrupar meus scripts RMAN com um script de shell bash que canalizará a saída padrão para o cron apenas em caso de falha, mas existe uma maneira melhor de fazer isso?
Para resumir:
- Posso canalizar a saída padrão para um e-mail no caso de um erro (e ignorar a saída padrão se não houver erro) para que possamos usar a funcionalidade de e-mail padrão no cron?
- Caso contrário, devo apenas agrupar meus scripts de backup do RMAN com lógica para que ele retorne apenas a saída do script de shell se um erro for encontrado?
- Existe outra abordagem que não estou vendo ou não consigo encontrar online que faça isso?
Minhas desculpas se isso já foi perguntado. Encontrei várias perguntas e cenários pontuais, mas nada que eu senti correspondesse exatamente ao resultado desejado.
Obrigado!
Eu escrevo um script bash para executar os backups (RMAN, datapump e também xtrabackup e dump para MySQL de maneira semelhante) e, em seguida, chamo isso do cron. Dessa forma, você pode lidar com o e-mail como quiser.
Então, uma linha crontab simples é assim
Então tudo é feito no script.
Portanto, defina algumas variáveis comuns, incluindo RMAN, por exemplo
Em seguida, importe uma lista de e-mails que você deseja (um por linha) de um arquivo local
Em seguida, defina alguns procedimentos úteis que você pode usar mais tarde para tratamento de erros e e-mail
agora o processo principal que é agrupado para enviar tudo para um arquivo de log. Este é um exemplo simples, mas mostra o método básico.
Ajuste os procedimentos abort_with_error e send_email de acordo com seu ambiente e suas necessidades.
Isso separa o agendador do processo, portanto, não há necessidade de alterar o cron se você atualizar seu processo de backup ou obter um novo membro da equipe que precise dos e-mails.
Dessa forma, você recebe um e-mail se funcionar e se não funcionar, mas com Erro no assunto, para que uma regra de e-mail simples possa ocultar backups bem-sucedidos não interessantes e destacar falhas e uma contagem simples todas as manhãs mostra se algo não funcionou e-mail e precisa de uma olhada. Como o log é mantido no servidor, você pode encontrá-lo lá (adicione algo ao trabalho para limpar os antigos depois de algumas semanas).
Obviamente, existem várias maneiras de implementar algo assim e você precisará variar para se adequar (e eu cortei * muitas * coisas do script para maior clareza).