Notei que várias pessoas recomendaram o uso do etckeeper para aplicar o controle de versão ao meu diretório / etc.
Parece-me que a instalação padrão coloca um repositório na mesma máquina que o / etc que você está tentando gerenciar. Isso funciona bem para o controle de versão, mas não oferece o benefício adicional de fazer um backup fora dos servidores dos arquivos - nem me permite duplicar partes do / etc de uma máquina de origem para outra.
É possível compartilhar um único repositório git em uma máquina administrativa central, para que o etckeeper em cada servidor armazene seus dados no mesmo local?
(Estou fazendo uma coisa semelhante agora com svn e alguns scripts personalizados para confirmar e reverter arquivos, mas devo lembrar de confirmá-los quando fizer alterações.)
fonte
git push
trabalhar para o seu repositório Git criado? Provavelmente você precisa criar repo nua em somedir o gancho sob commit.d é realmente uma boa idéia, eu gostoÉ possível adicionar uma configuração de filial remota para mapear a filial principal do repositório etckeeper de cada servidor para uma filial no repositório remoto. Para fazer isso, você pode executar os seguintes comandos em cada servidor:
Após essa configuração, o subseqüente
git push
enviará alterações de cada ramificação mestre do servidor para a ramificação dedicada do servidor no repositório central.Embora as ramificações não tenham um ponto de partida comum, isso permite comparar facilmente o mesmo arquivo de duas ramificações diferentes, representando dois servidores diferentes, executando:
Isso pode ser combinado com a configuração automatizada sugerida pelo jojoo .
fonte
Como fazer isso automaticamente, a história completa:
Crie o arquivo /etc/etckeeper/commit.d/60-push (não esqueça de chmod + x it) nos clientes.
central_server é definido na configuração do ssh, veja abaixo. /var/git/client_name.git é o diretório no servidor central, contendo o repositório git.
O ~ / .ssh / config da raiz (!) Deve conter algo como isto:
Então você precisa iniciar o repositório git no servidor_servidor central
Teste-o com uma edição menor em / etc e, em seguida, um etckeeper confirma "test push'ing".
fonte
Essa não é a questão. Se você deseja distribuir amplamente a configuração, configure outro repositório, além do repositório local de cada máquina, e faça com que cada máquina faça uma escolha , conforme necessário. O que isso faz é permitir que cada máquina se desvie (ramificação, na verdade) e mantenha o controle de revisão.
fonte
Você realmente não quer fazer do etckeeper sua política de backup. Embora seja bom ter uma cópia dos seus arquivos de configuração, dificilmente é suficiente se qualificar como um plano de recuperação de desastre.
Concentre-se em ter backups reais do seu sistema. O simplista poderia ser um cronjob para alimentar um tarball com fita ... ah, certo. Ninguém mais usa fitas. Ok, um cronjob para sincronizar todos os seus arquivos em um NAS dedicado . Para soluções de backup mais robustas, dê uma olhada em Amanda e Bacula .
E, no caso dos acadêmicos, eu fui capaz de enviar meu repositório etckeeper para o github, como qualquer outro repositório git.
fonte