From f95c887fee3829939e1699d1c25e0a269765b3f3 Mon Sep 17 00:00:00 2001 From: Jeremie Dimino Date: Fri, 19 Dec 2008 03:47:02 +0100 Subject: [PATCH] [utils/run-bcfg2.sh] script pour lancer bcfg2 sur tous les serveurs darcs-hash:20081219024702-af139-3fbe803ce672be847aef410843646c3f5b9d0b73.gz --- utils/run-bcfg2.sh | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 utils/run-bcfg2.sh diff --git a/utils/run-bcfg2.sh b/utils/run-bcfg2.sh new file mode 100755 index 00000000..20e5ebec --- /dev/null +++ b/utils/run-bcfg2.sh @@ -0,0 +1,49 @@ +#!/bin/bash + +# run-bcfg2.sh +# ------------ +# Copyright : (c) 2008, Jeremie Dimino +# Licence : BSD3 + +# Script pour lancer bcfg2 -v -I sur tout les serveurs. +# +# Pour l'utiliser vous devez le copier sur votre ordi, et le lancer +# avec en argument une liste de serveurs: +# +# $ ./run-bcfg2.sh rouge zamok +# +# Sans aucun serveur il récupère la liste de tous les serveurs depuis +# la conf de bcfg2. + +# Pour que ça marche il faut que vous puissiez vous connecter aux +# serveurs sans mot de passe et que vous aiyez déjà accepté la clef +# pour chaque serveur + +# Liste des machines à contacter +if [ $# = 0 ]; then + echo "Récupération de la liste des machines depuis la conf de bcfg2..." + HOSTS=$(ssh vert.adm.crans.org grep -o "'name=\"[^\"]*\"'" /var/lib/bcfg2/Metadata/clients.xml | cut -d'"' -f2) +else + HOSTS="$@" +fi + +echo "Veuillez taper votre mot de passe du crans:" +read -s -p "password: " password +echo + +echo "Obtention des tokens pour sudo..." +pids="" +for host in $HOSTS; do + echo $password | ssh $host sudo -S true & pids="$pids $!" +done + +# On attend que tous les sudo soient terminés +for pid in $pids; do + wait $pid +done + +echo "Lancement de bcfg2 sur tout les serveur" +for host in $HOSTS; do + echo " $host" + x-terminal-emulator -title $host -e ssh -t $host sudo bcfg2 -v -I & +done