[utils/run-bcfg2.sh] script pour lancer bcfg2 sur tous les serveurs
darcs-hash:20081219024702-af139-3fbe803ce672be847aef410843646c3f5b9d0b73.gz
This commit is contained in:
parent
acd9217caf
commit
f95c887fee
1 changed files with 49 additions and 0 deletions
49
utils/run-bcfg2.sh
Executable file
49
utils/run-bcfg2.sh
Executable file
|
@ -0,0 +1,49 @@
|
|||
#!/bin/bash
|
||||
|
||||
# run-bcfg2.sh
|
||||
# ------------
|
||||
# Copyright : (c) 2008, Jeremie Dimino <jeremie@dimino.org>
|
||||
# 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
|
Loading…
Add table
Add a link
Reference in a new issue