Comment configurer un count centralisé pour dissortingbuer des files aux servers

Supposons que j'ai des dizaines, même des centaines de servers. Quelle est la meilleure méthode pour pousser une copy centrale de files vers un directory donné sur tous les servers? Par exemple, nous mettons à jour un script bash, et le mettons sur un count central. Nous voulons ensuite que le repo lance le script bash mis à jour sur tous les servers automatiquement. Supposons également que le count de rechange peut ssh dans tous les servers via une key publique.

Je sais que je pourrais arracher un script shell piraté pour faire une boucle dans une list de servers et de scp, mais il doit y avoir une meilleure façon de gérer cela. En savoir plus sur rysnc? J'aimerais une interface graphique, comme, append des servers, puis simplement download un file, et il obtient scp'd pour tous les servers du groupe.

Merci.

Vous devriez enquêter sur un système de gestion de la configuration comme Puppet , Bcfg2, Chef, CFEngine ou autres

Puppet, par exemple, couvre tous vos cas d'utilisation listés, et fournit des fonctionnalités supplémentaires telles que les deployments d'étapes, l'audit / reporting, les stream de travail complexes, etc.

Si vous voulez une solution lourde qui gérera de manière centralisée la configuration du server (et, si vous rencontrez des dizaines ou des centaines de boîtes, vous devriez regarder ce genre de chose), regardez Chef ou Puppet . Cela peut être une victime excessive pour votre environnement, et il existe une courbe d'apprentissage abrupte, mais je ne peux pas imaginer de traiter de nombreuses autres boîtes.

Si vous avez juste un directory de scripts bash, vous pouvez éventuellement monter un partage réseau de ce directory.

En fait, je pense que nous aurons besoin de plus d'informations sur votre environnement. Avez-vous le contrôle direct de tous ces servers? Êtes-vous en train de dire «Je dissortingbue certains logiciels à un tas de clients et je veux que ce logiciel soit mis à jour» (dans quel cas, comment votre logiciel est-il emballé)? Quelle est exactement votre situation?

En plus des autres réponses pour la configuration centralisée (nous utilisons le chef en interne).

Vous pouvez également utiliser un référentiel de files svn comme subversion pour ses capacités de version de file et son front frontal HTTP.

Par exemple, nous avons une batterie de servers web apache avec httpd sur 5 nœuds, et je conserve une copy de httpd.conf et /etc/httpd/conf.d/www.myserver.com.conf dans le svn repo, cela nous permet de déployer les modifications aux instances facilement, et aussi rouler dans le cas d'af ** k up.

Il représente également un composant dans votre database d'actifs et peut être utilisé pour confirmer que toutes vos instances utilisent la même configuration si vous les déployez automatiquement.

De toute évidence, dans ces time modernes, il existe tout un tas de solutions de rechange pour un référentiel tel que git, mercurial ou une interface davfs pour certains servers de files dotés d'une stratégie de version locale.