Colocando configurações de servidor no controle de versão via SSH

4

Eu tenho um monte de servidores * nix em produção. Eu gostaria de colocar seus importantes arquivos de configuração no controle de versão

A ideia básica que tive foi para

  • Coloque um sistema de controle de versão distribuído para que as configurações de cada sistema sejam salvas em sua própria unidade.

  • A forma como as configurações são alteradas é através de um editor ou de uma fonte externa.

  • Supondo que $ EDITOR é usado no shell, seria possível adicionar um comando extra ao salvar o arquivo (para que o arquivo seja adicionado ao git). Isso pode ser problemático, pois nem sempre é um usuário que faz o vim /etc/my.cnf, ele pode estar abrindo o my.cnf de dentro do vim

  • A outra fonte de mudança pode ser capturada através de um script cron, que é executado a cada uma hora e acrescenta coisas ao controle de versão (isso é bom o suficiente). Então o repositório do git pode ser colocado em um local central por segurança. 1 hora é bom o suficiente, pois é assumido que a primeira maneira de capturar as alterações funcionará na maioria das vezes.

Eu gostaria de saber se existe alguma ferramenta que já faz isso (ou melhora). Seria ideal que, em cada mudança de configuração iniciada por um usuário, ele propusesse adicionar a alteração ao repositório local.

    
por geoaxis 10.10.2011 / 15:20

3 respostas

5

Eu fiz algo parecido com isso. No entanto, nós gerenciaríamos os arquivos de configuração no Puppet, que então seriam armazenados no SVN. Eu tenho dois outros administradores linux em um farm de servidores de 160 servidores e isso funcionou bem. Ele forneceu histórico de alterações (SVN), bem como gerenciamento de configuração via Puppet.

    
por 10.10.2011 / 15:29
4

Dê uma olhada no etckeeper - é bem parecido com o que você está procurando.

    
por 10.10.2011 / 19:04
2

procure ferramentas como fantoche ou cfengine. Geralmente é um resultado melhor, imho.

    
por 10.10.2011 / 15:25

Tags