Controle a execução de tarefas agendadas

2

Somos uma pequena loja. Eu sou principalmente um programador, mas devido a ser o único que corre o risco de gerenciar nossos servidores, a tarefa caiu sobre mim (ainda assim eu ainda é uma função secundária, então não posso dar muito tempo).

Ao longo dos anos, precisamos criar um número decente de scripts .bat que sejam executados como tarefas agendadas em nossos servidores (despejar servidores de banco de dados, servidores SVN, copiar arquivos, etc.).

Verificar manualmente se todos procederam ok é uma tarefa demorada. Eu poderia fazer com que eles enviassem um e-mail após a conclusão, mas depois eu me enchia de muitos e-mails todas as manhãs. Se eu configurá-los apenas para e-mail em caso de falha, poderei perder as instâncias em que o erro faz com que a tarefa seja cancelada (ou mesmo não seja iniciada).

Existem outras alternativas? No momento, estamos usando o Windows 2003 R2, mas estamos pensando em adicionar alguns servidores Linux em breve, portanto, uma solução de plataforma cruzada seria melhor.

    
por SJuan76 07.09.2012 / 10:32

3 respostas

3

Embora seja principalmente voltado para serviços de monitoramento, eu estaria pensando em usar o Nagios para isso - apenas um mecanismo de agendamento e relatório - quais programas ele executa e onde eles são executados depende de você.

Além de rodar como um mecanismo de agendamento, você pode configurar os trabalhos para serem passivos - depois injetar status no Nagios dependendo do resultado - o que talvez seja uma abordagem mais sensata se você tiver dependências complexas (por exemplo, executar o backup somente após a varredura AV foi enviada). Com essa abordagem, você pode usar seus e-mails existentes como acionadores para estados dos serviços.

Independentemente da abordagem escolhida, você terá que gastar algum tempo e esforço nisso.

    
por 07.09.2012 / 13:42
1

Como você é um programador, estou surpreso que você esteja verificando manualmente esse tipo de coisa. É muito fácil ter cada arquivo em lote registrando seus resultados. Crie outro programa em qualquer idioma que você preferir (o Perl é ideal para isso) para analisar esses logs e enviar um email para você. Tudo o que você precisa para dizer é que todas as tarefas foram concluídas com êxito ou todas as que não foram concluídas. Apenas em caso de falha, você precisará realizar uma verificação manual.

    
por 08.09.2012 / 02:43
0

Como você estranhamente parece desconfortável com uma solução planejada / programada, como sugerido por John Gardeniers, você sempre pode salvar um Configuração do MMC que se conecta à tarefa agendada registra em todos os seus servidores remotos .

  1. Enter “mmc” in the Start Search box.
  2. Click File->Add/Remove Snap-in.
  3. In the left column, select “Task Scheduler”. Click Add.
  4. Choose “Another computer”. Enter the correct IP address or computer name. You can also browse for the computer.
  5. Click File->Save As to save it.

Pelo menos facilite a sua vida centralizando esses logs em um único monitor, no entanto, eu também preferiria um script que analise os logs de eventos de que eu me importe e me envie um e-mail de manhã. Por que vale a pena, recebo uma centena de e-mails automatizados todas as manhãs, e levo alguns minutos para analisá-los. Uma regra despeja todos eles em uma pasta, e eu posso dizer pelo título ([blah]: SUCCESS / WARNING / FAILURE) se ignorá-los ou não.

    
por 11.09.2012 / 05:15