Bonjour/soir,
Voici ma situation :
- J’ai plusieurs serveurs sous la main dont un “Principal” qui me permet de me connecter en root sur tous les autres par ssh sans avoir à taper de mdp
- Tout les serveurs on des instances/cluster mysql
Je dois créer sur tte ces instances un nvlle utilisateur avec certains droits.
Etant donnée la très grande quantité d’instances mon idée à donc été de faire un script pour automatiser cette création.
Toutes les instances ont le même chemin pour y accéder.
Exemple :
- Sur le serveur 1 :
/data/instance1/truc/bin/mysql -u root -p### --socket=/var/run/instance1/instance1.sock --port=####
/data/instance2/truc/bin/mysql -u root -p### --socket=/var/run/instance2/instance2.sock --port=####
/data/instance3/truc/bin/mysql -u root -p### --socket=/var/run/instance3/instance3.sock --port=####
serveur 2 idem, 3 idem etc…
Mon avancement :
Alors depuis le serveur “Principal” :
j’ai fais un script avec un find qui me récupere ttes les instances sur chaques serveurs étant données qu’ils n’ont pas tous les mêmes noms d’instances sauf certains et un grep qui me récupère les ports dans un fichier de conf. (ils sont tous les 2 stockers dans des variables différentes).
ce qui donne un truc du genre
[code]clear
echo "Entrez une IP : "
read IP
ssh ${IP} ‘bash -c “find /data/ ( -name “instance?” -o -name “instance?” -o #etc…) -printf %f\\n”’ > /data/Test/instances[/code]
Ce qui va me créer un fichier instance sous mon serveur Principal avec la liste des instances trouvées.
Ensutie avec une boucle while read je récupère ces infos que je stock dans un tableau. $instance[$i] par exemple, i étant le numéro de ligne.
Je récupère et stock le ports
Port=`ssh ${IP} "bash -c 'grep -A 0 Port= /data/${instance[$i]}/config/.my.conf | cut -c6-'"`
Et maintenant c’est là où je bloque (à mon avi c’est tout bête), à l’éxécution de la commande :
Je pense que c’est un soucis avec les quotes… Mais je vois pas trop comment faire.
Si quelqu’un a une idée pour résoudre mon problème je prends !
Si vous avez d’autres idées plus rapide et simple pour faire ce que je veux faire je prends aussi !
Merci.
Cordialement,
LeehN