Diretório Syncronize Linux / etc /

0

Eu tenho uma máquina virtual com Linux (servidor Ubuntu) que é usada como protótipo para outras máquinas. Às vezes, faço alterações no sistema protótipo e quero importar essas alterações em outra máquina.

Eu sei sobre Puppet, cfengine e FAI, mas quero algo fácil, por exemplo, script rsync, que funcionará com o ssh quando necessário.

O objetivo principal é o diretório / etc /. Mas eu não quero sincronizar alguns arquivos privados, por exemplo, / etc / passwd / etc / shadow e assim por diante. Eu não sei tudo isso.

Existem dicas para minha tarefa? Pode ser que alguém tenha esse script rsync.

    
por Pavel Nuzhdin 31.10.2012 / 17:18

2 respostas

4

Uma solução simples pode ser a configuração do git.

  • Configure um repositório git no diretório /etc .
  • Configure um arquivo de ignorar para excluir itens que você não deseja migrar para o sistema remoto.
  • Adicione tudo que não foi ignorado no seu repositório.
  • No pull de produção do repositório de desenvolvimento conforme necessário.
por 31.10.2012 / 17:44
2

Você já tem a resposta. O rsync pode fazer o que você quer, ele roda sobre o ssh quando você quiser, e ele pode facilmente ignorar arquivos que você não quer que ele sincronize:

rsync -avP source:/etc/ /etc/ --exclude-from list-of-files-to-exclude

Adicione apenas uma lista de arquivos a serem excluídos para o list-of-files-to-exclude flie. Por exemplo:

$ cat list-of-files-to-exclude
/passwd
/shadow

É claro que eu ainda recomendaria strongmente o controle de versão e algo mais sofisticado como o fantoche. E certifique-se de cuidar da propriedade e das permissões de arquivos.

    
por 31.10.2012 / 17:53