Adiciona Cron Job a Vários Servidores

1

Qual seria a melhor maneira de adicionar uma nova tarefa cron a vários servidores simultaneamente ou automatizar a criação de uma tarefa cron em vários servidores?

Estou planejando usar o rysnc para enviar um script bash para vários servidores, mas preciso adicionar um trabalho cron que execute esse script.

    
por Curtis_w 31.10.2012 / 14:02

5 respostas

6

A maioria das distribuições Linux modernas tem suporte para a estrutura /etc/cron.d , o que permitiria uma abordagem modular para enviar "trechos" cron para múltiplos servidores. Este é um diretório especial que é verificado a cada minuto para os trabalhos disponíveis. Você pode colocar pequenos arquivos cron no diretório. É uma abordagem mais elegante do que editar um crontab central ou por usuário.

Veja: Qual é a diferença entre / etc / cron.d e / var / spool / cron? Para mais informações sobre o formato ligeiramente diferente necessário para usar esta estrutura.

Eu criaria os arquivos jobs / cron e scp para os servidores relevantes. Eu acho que para algo nessa escala, o Puppet ou um pacote completo de gerenciamento de configuração é um exagero.

    
por 31.10.2012 / 14:54
5

Você também pode considerar o Ansible, ele tem o módulo cron.

    
por 31.10.2012 / 14:50
1

O Puppet tem um provedor de cron. (provavelmente também CFEngine e Chef e algumas das outras opções )

Ele também tem um truque onde você pode escalonar a execução de tarefas agendadas usando o hash do nome do host, assim:

cron { "run-myscript":
  command => "/path/to/myscript.sh",
  minute => inline_template("<%= hostname.hash.abs % 60 %>"),
}

Se você tiver mais de uma dúzia de servidores ou achar que provavelmente crescerá até esse tamanho, começar a usar o gerenciamento de configurações valerá a pena.

Para uma solução rápida e suja, os clusterssh podem resolver o problema. Uma solução de longo prazo para esses tipos de problemas seria MCollective , Func , Tecido ou Capistrano Capistrano a>.

    
por 31.10.2012 / 14:19
0

Eu escreveria um script que eu colocaria em um compartilhamento de samba que todo o meu servidor pudesse acessar, então eu definiria o mesmo cron para cada um e apontaria para o mesmo script!

    
por 01.11.2012 / 22:58
-1

Deve ser tentado em uma prova de conceito, mas acho que pode funcionar com um diretório /var/spool/cron compartilhado (como um compartilhamento nfs). Você tentou isso? Eu diria que seria o caminho mais fácil

    
por 31.10.2012 / 14:54

Tags