]> gitweb.pimeys.fr Git - scripts-20-100.git/blobdiff - update_myconfig.sh
typo
[scripts-20-100.git] / update_myconfig.sh
index 34216ea809688570a7751294ae0b8b29b442ceb3..29809190834012c4e1d2719f8fba64de2708b76d 100755 (executable)
@@ -4,17 +4,54 @@
 # 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-test bde3 bde2-virt zamok rezosup"
+other_machines="19.dptinfo pimeys oswaft 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)"
+
 # locally
-echo "${color}sur eva:${endcolor}"
+echo "${color}sur eva:${endcolor} (localement)"
 cd ~/.myconfig
 git pull
 
-for i in cerebro cabal info22 bde bde2 bde3 videobde pimeys baldrick quigon hexagon zamok ovh
+# 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'
 done
 
-echo "${color}Pas pu mettre à jour (FrowardAgent=no) :${endcolor} tahines, rasputin"
+# Warning à la fin
+echo "${color}Ne peut pas mettre à jour (ForwardAgent=no) :${endcolor} tahines"