J'ai remarqué que plusieurs personnes ont recommandé d'utiliser etckeeper pour appliquer le contrôle de version à mon répertoire / etc.
Il me semble que l'installation par défaut place un référentiel sur la même machine que le / etc que vous essayez de gérer. Cela fonctionne bien pour le contrôle de version, mais ne donne pas l'avantage supplémentaire de faire une sauvegarde hors serveur des fichiers - ou me permet de dupliquer des parties de / etc d'une machine source à une autre.
Est-il possible de partager un seul dépôt git sur une machine d'administration centrale, de sorte que etckeeper sur chaque serveur stocke ses données au même endroit?
(Je fais maintenant une chose similaire avec svn et certains scripts personnalisés pour valider et restaurer des fichiers, mais je dois me rappeler de les valider lorsque j'apporte des modifications.)
la source
git push
fonctionner vers votre dépôt git créé? vous avez probablement besoin de créer un dépôt nu dans somedir le crochet sous commit.d est vraiment une bonne idée, j'aime çaIl est possible d'ajouter une configuration de branche distante pour mapper la branche principale du référentiel etckeeper de chaque serveur à une branche du référentiel distant. Pour ce faire, vous pouvez exécuter les commandes suivantes sur chaque serveur:
Après cette configuration, les suivantes
git push
enverront les modifications de chaque branche principale de serveur à la branche de serveur dédiée sur le référentiel central.Bien que les branches n'aient pas de point de départ commun, cela permet de comparer facilement le même fichier de deux branches différentes, représentant deux serveurs différents, en exécutant:
Ceci peut être combiné avec la configuration automatisée suggérée par jojoo .
la source
Comment le faire automatiquement, l'histoire complète:
Créez le fichier /etc/etckeeper/commit.d/60-push (n'oubliez pas de chmod + x it) sur les clients.
central_server est défini dans la configuration ssh, voir ci-dessous. /var/git/client_name.git est le répertoire du serveur central, contenant le dépôt git.
La configuration ~ / .ssh / de root (!) Devrait contenir quelque chose comme ceci:
Ensuite, vous devez lancer le dépôt git sur le serveur central
Testez-le avec une modification mineure dans / etc puis un etckeeper commit "test push'ing".
la source
Ce n'est pas le propos. Si vous souhaitez diffuser largement la configuration, vous configurez un autre référentiel en plus du référentiel local de chaque machine, et vous avez le choix entre chaque machine si nécessaire. Cela permet à chaque machine de dévier (branche, vraiment) et de conserver le contrôle des révisions.
la source
Vous ne voulez vraiment pas faire de etckeeper votre politique de sauvegarde. Bien qu'il soit bien d'avoir une copie de vos fichiers de configuration, ce n'est guère suffisant pour être considéré comme un plan de reprise après sinistre.
Concentrez-vous plutôt sur de véritables sauvegardes de votre système. Le simpliste pourrait être un cronjob pour alimenter une tarball sur bande ... oh, c'est vrai. Personne n'utilise plus de bandes. D'accord, un cronjob pour rsync tous vos fichiers sur un NAS dédié . Pour des solutions de sauvegarde plus robustes, jetez un œil à Amanda et Bacula .
Et pour le cas des universitaires, j'ai pu pousser mon repo etckeeper jusqu'à github comme tout autre git repo.
la source