Das Script ist erweitert worden, es ist für mich eine Dokumentation.
#!/usr/bin/bash
# Deklaration Variablen
aix=/home/svc.aix_ansible/twe/lparcheck_schalter/aix.out
vio=/home/svc.aix_ansible/twe/lparcheck_schalter/vio.out
ansible=/home/svc.aix_ansible/twe/lparcheck_schalter/ansible.out
check=/home/svc.aix_ansible/twe/lparcheck_schalter/check.out
result=/home/svc.aix_ansible/twe/lparcheck_schalter/result.out
unknown=/home/svc.aix_ansible/twe/lparcheck_schalter/unknown.out
clear
#rm $aix $vio $ansible $check
if [ $# -eq 0 ]
then
echo "Aufruf: $0 [-a] [-na] [-lv] [-v]"
echo ""
echo "-a erzeugt Datei result.out"
echo "-na zeigt Alle Systeme, die nicht in Ansible vorhanden sind (ap-geh,debie,ista und rk Systeme werden ausgeblendet"
echo "-lv zeigt Alle Systeme, die nicht mehr als LPAR / VIO vorhanden sind"
echo "-v zeigt Alle Systeme, die nicht in Ansible vorhanden sind. Verbose Mode"
echo""
echo""
exit
fi
rm $aix $vio $ansible $check
# Abfrage
if [ $1 = -v ]
then
echo "Starte die Abfrage . . ."
fi
/srv/lpar2rrd/pwrdata/search_lpar.py | grep -i AIX | sort | awk '{print $1}' | tr '[:upper:]' '[:lower:]' > $aix
/srv/lpar2rrd/pwrdata/search_lpar.py | grep -i VIOS | sort | awk '{print $1}'| tr '[:upper:]' '[:lower:]' > $vio
/srv/lpar2rrd/pwrdata/search_lpar.py | grep -i unknown > $unknown
cat /etc/ansible/hosts | grep "ansible_host" | sort | uniq | awk '{print $1}'| tr '[:upper:]' '[:lower:]' > $ansible
# Zusammenfuehren der Dateien aix und vio
cat $aix $vio | sort > $check
# Unterschiede pruefen und Ausgabe in Datei schreiben
rm $result
touch $result
echo "+-----------------------------------------------------------------------+" >> $result
printf "|%17s | %40s | %1s |\n" AIX_LPAR_VIO "" "Ansible" >> $result
echo "+-----------------------------------------------------------------------+" >> $result
for arg
do
case $1 in
"-a") sdiff $check $ansible | uniq >> $result
echo "Das Ergebnis wir in der Datei result.out festgehalten. Die linke Spalte enthaelt AIX LPAR und VIO"
echo "Die rechte Spalte enthaelt die Ansible Systeme."
;;
"-na") sdiff $check $ansible | uniq | grep "<" | egrep -v "ap-geh*|debie*|rk0*|ist*" > $result
if [ -s $result ]
then exit 1
else exit 0
fi
;;
"-lv") sdiff $check $ansible | uniq | grep ">" > $result
if [ -s $result ]
then exit 1
else exit 0
fi
;;
"-v") sdiff $check $ansible | uniq > $result && grep "<" $result
if [ -s $unknown ]
then echo ""
echo ""
echo "Systeme im Status unknown"
echo ""
cat $unknown
fi
;;
*) echo "$0 hat keinen Schalter $1"
echo ""
echo ""
echo "Anzeige der Schalter $0 und Return"
echo ""
;;
esac
shift
done