PrettyPrint

vendredi 31 janvier 2014

Faire l'inventaire de l'ensemble de ces équipements via SSH

Il arrive parfois que le n+1 ou le RSSI nous demande l'inventaire de nos équipements, qui d'habitude n'est pas toujours à jour.
Une petite commande bash, pour le faire sans froncer les sourcils:
Récupération de l'IP et du nom d'hôte:
>for ip in {1..254}; 
>do
>ping -c1 -t3 X.Y.Z.$ip && echo "X.Y.Z.$ip --> `ssh X.Y.Z.$ip 'hostname'`" >> inventaire.txt;
>done

Résultat:
   W.X.Y.Z --> name.intra.domain

Pous pouvez faire varier le ttl en fonction de votre configuration réseau.

jeudi 16 janvier 2014

Howto compare 2 remotes files

diff est un outil permettant d'afficher la différence entre 2 fichiers ligne par ligne.
L'outil devient  très intéressant pour vérifier une configuration commune sur un ensemble de serveur; ceci est rendu possible par la possibilité que diff a, à utiliser les flux de l'entrée standart (STDIN).

Utilisation:
diff entre un fichier local et un fichier distant :
#ssh -q $remoteHost "cat $remoteFile" | diff - $localFile

diff entre 2 fichiers distants:
#ssh -q $HOST1 "cat $file1" | diff - <(ssh -q $HOST2 "cat $file2")
"attention! pas d'espace entre le caractère < et )"

Si vous avez une autre façon d'écrire ceci, merci de partager ;-).

samedi 11 janvier 2014

Paralléliser la compression des gros fichiers


En environnement de production, on est généralement confronté a un problème d'espace lors des sauvegardes. On veut un temps de rétention assez long, sans avoir les ressources disques adéquates. La seule solution est la compression des données sauvegardées (bien qu'elle augmente le temps de sauvegarde et de restauration).
La compression sur des gros fichiers (>80Go), dépasse généralement les 45min avec l'outil gzip. Ce dernier n'utilise pas toutes les ressources cpu de la machine; en cherchant un outil qui parallélise la compression, je suis tombé sur une implémentation de gzip, http://zlib.net/pigz/ qui le fait.
Il fonctionne de la même manière que gzip, il suffit juste d'appeler la commande "pigz".

Installation de pigz sur CentOS 6
- Via le dépôt Epel
#rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#yum install pigz

Lancez la compression, et vérifier la parallélisation grâce à votre outils de supervision ( nmon ;-) )