Cron distribuído

2

Eu mantenho muitos servidores e tenho os seguintes requisitos

  1. Executar um processo unix em um determinado momento
  2. Execute um processo unix no momento da inicialização e mantenha-o em execução (no caso dele morrer)
  3. Desativar um processo em execução

Estou usando o cron agora, mas é demorado manter o cron local em servidores diferentes.

Existe algum tipo de mecanismo de cron distribuído? Será bom ter a configuração "cron" armazenada em um banco de dados para que eu possa acessar o mesmo através de uma interface web.

    
por Prashanth Ellina 16.05.2012 / 13:27

5 respostas

4

Use um sistema de gerenciamento de configurações , como Chef ou Marionete . Faça com que o servidor de gerenciamento de configuração envie as configurações apropriadas cron / Upstart / monit / whatever para os vários nós, dependendo de suas funções. Sim, é provavelmente mais um investimento para configurar isso do que vomitar arquivos crontab em todo o lugar manualmente, mas você vai acabar com um ponto de controle centralizado sobre todos os servidores que você está tentando gerenciar.

    
por 18.05.2012 / 13:24
0

Para atualizações do cron você pode colocar uma cópia dos seus arquivos cron em um servidor web e fazer com que suas máquinas atualizem seus arquivos cron com base no conteúdo dos arquivos armazenados no servidor web. Isso permitiria que você fizesse atualizações do cron em um só lugar. O lado ruim é que todos os seus computadores seriam tão seguros quanto o servidor web, já que qualquer um que pudesse manipular o conteúdo do servidor web poderia então executar comandos arbitrários em qualquer um dos seus sistemas.

    
por 16.05.2012 / 14:44
0
  1. Use cron

  2. Use inittab

  3. Se gerenciado por inittab - edit inittab ,
    Se gerenciado pela inicialização do sistema ( /etc/init.d & /etc/rc[0-6].d ) - use chkconfig ou service

De man inittab

   respawn
          The  process  will  be  restarted  whenever  it terminates (e.g.
          getty).

Para mantê-los em um sistema replicado com vários sistemas, só consigo pensar em algo como rsync . Não sei se algo como NIS / YP seria utilizável. Você pode estar procurando por uma solução mais corporativa.

    
por 16.05.2012 / 15:10
0

Você pode usar o fantoche (um software de gerenciamento de configuração centralizado) para gerenciar seus trabalhos agendados. Aqui há alguma documentação link (cron de pesquisa neste link).

    
por 18.05.2012 / 13:26
0

Parece que o ucron se encaixa muito bem nas suas necessidades. Eu não tentei isso sozinho. link Talvez algo?

    
por 13.12.2012 / 10:20