]> gitweb.pimeys.fr Git - scripts-20-100.git/commitdiff
[update_myconfig] Connexion master through komaz + ajout de vieux
authorVincent Le Gallic <legallic@crans.org>
Tue, 22 Jul 2014 23:53:43 +0000 (01:53 +0200)
committerVincent Le Gallic <legallic@crans.org>
Tue, 22 Jul 2014 23:53:43 +0000 (01:53 +0200)
Permet de contourner la limite de ssh/minute

update_myconfig.sh

index 67436e8a5a360402521aa637d68b5068fcb8f489..92fe1e5e5b5ff31fd281cfa1a211e74c03101116 100755 (executable)
@@ -4,13 +4,29 @@
 # sur toutes les machines où j'ai accès
 
 color='\e[0;31m'
+green='\e[0;32m'
 endcolor='\e[0m'
 
+# Pour l'exécuter à la maison
 if [ "$1" = "--local" ]
 then
     localmode=".local"
 fi
 
+# Déclaration des machines, dont celles qui dépendent du localmode
+machines_behind_komaz="cerebro bde bde2 bde3 videobde baldrick zamok rezosup acoeur vieux"
+other_machines="info22 pimeys quigon hexagon soyouz gladys${localmode} cabal${localmode}"
+
+# On accèdera aux machines derrière komaz via un seul proxy avec une connexion master
+crans_proxy="zamok"
+# Chemin de la socket pour la connexion master
+socket=$(mktemp -u)
+
+if [[ "`hostname`" != "eva" ]];
+then
+    echo "${green}Normalement, à exécuter sur eva !${endcolor}"
+fi
+
 echo "Les machines de Serenity sont en dernier (.local issue)"
 
 echo "${color}Ne peut pas mettre à jour (ForwardAgent=no) :${endcolor} tahines, rasputin"
@@ -20,7 +36,20 @@ echo "${color}sur eva:${endcolor} (localement)"
 cd ~/.myconfig
 git pull
 
-for i in cerebro info22 bde bde2 bde3 videobde pimeys baldrick quigon hexagon zamok soyouz rezosup acoeur gladys${localmode} cabal${localmode}
+# Ouverture de la connexion master vers la zone Cr@ns
+ssh ${crans_proxy} -o ControlMaster=yes -o ControlPath=${socket} -o ControlPersist=yes -n &> /dev/null
+
+for i in ${machines_behind_komaz}
+do
+    echo "${color}sur $i:${endcolor}"
+    ssh $i -o ProxyCommand="ssh ${crans_proxy} -o ControlMaster=no -o ControlPath=${socket} -W %h:%p" 'cd .myconfig; git pull'
+done
+
+# Fermeture de la connexion master
+ssh ${crans_proxy} -o ControlMaster=no -o ControlPath=${socket} -O exit
+
+
+for i in ${other_machines}
 do
     echo "${color}sur $i:${endcolor}"
     ssh $i 'cd .myconfig; git pull'