Script pour connexion ssh
Bonjour à tous,
j'ai créé un petit script ssh me permettant de récupérer différentes informations sur plusieurs serveurs malheureusement, je n'arrive pas à récupérer les valeurs sur le serveur "maitre" puisque elles sont sur le serveurs sur lequel le script se connecte.
En gros pour résumé mon besoin, mon script se lance à partir d'un serveur qui a toutes les clés. Et récupère des valeurs en se connectant sur d'autres serveurs. j'aimerais bien sur que les valeurs des différents serveurs soient contenues dans le fichier "retour.csv" sur le serveur "maitre".
D'avacnce, merci beaucoup pour votre aide,
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#/bin/bash/
for serveur in $(cat serveurs.txt)
do
ssh $serveur
kernel=`uname`
manufacturer=`dmidecode | grep 'Manufacturer:' | head -n 1 | cut -f 2 -d ' '`
puppet=0
if [ "$kernel" == "AIX" ]; then
echo "Est AIX !"
short_name=`/usr/bin/hostname | cut -f 1 -d '.'`
domain=`/usr/bin/hostname | cut -f 2,3,4 -d '.'`
fqdn=`/usr/bin/hostname`
version=`/usr/bin/uname | cut -f 3,4 -d ' '`
ip=`/etc/ifconfig en0 | grep inet | cut -c 7- | cut -f 1 -d ' '`
ip2=`/etc/ifconfig en1 | grep inet | cut -c 7- | cut -f 1 -d ' '`
else if [ "$kernel" == "Linux" ]; then
short_name=`hostname | cut -f 1 -d '.'`
domain=`hostname | cut -f 2,3,4 -d '.'`
fqdn=`hostname`
version=`cat /etc/redhat-release | cut -f 1,2,3 -d ' '`
ip=`cat /etc/sysconfig/network-scripts/ifcfg-eth0 | grep IPADDR= | cut -f 2 -d '='`
ip2=`cat /etc/sysconfig/network-scripts/ifcfg-eth1 | grep IPADDR= | cut -f 2 -d '='`
version_maj=`cat /etc/redhat-release | cut -f 7 -d ' ' | cut -c -1`
if [ "version_maj" == "4" ]; then
puppet=stopped_on_rhel_4
else
puppet=`/etc/init.d/puppet status | cut -f 3 -d ' '`
test_retour=`echo $?`
fi
if [ "$test_retour" == "127" ]; then
puppet=puppet_not_found
else
test_retour=0
fi
if [ "$manufacturer" == "VMware," ]; then
service_tag=`dmidecode | grep "Serial Number: VMware" | cut -c 17-`
else
service_tag=`dmidecode | grep -w "Serial Number" | head -n 1 | cut -c 18-`
fi
else
short_name=$serveur
kernel="Is"
domain=" not"
fqdn=" a"
kernel="Linux"
version=" or"
ip=" AIX"
ip2=" operating"
service_tag=" system."
fi
fi
echo $short_name;$domain;$fqdn;$kernel;$version;$ip;$ip2;$manufacturer;$service_tag;`date +%Y-%m-%d-%Hh%M` >> retour.csv
logout
done |