#!/bin/sh
#
# get_cio
#
# Usage: get_cio
#
# By: Angel Corbera, TSID1, Refinery Isla, Curacao, N.A.
# Comments to: [email protected]
#
# Purpose: Retrieve list of AW/WPs running Control Configurator,
# and list of LOCKED CPs.
# As usual, it must be run from /opt/ac, on any 50/51 station
# in the system.
#
get_wp()
{
grep opt tmp1 > /dev/null
if [ $? -eq 0 ]
then
# 50 or 51
Z=`awk '{print $5}' tmp1 | head -1`
if [ $Z = "ciocfgtask.nhi" ]
then
# 50
awk '{print $7}' tmp1 | tr / " " > tmp2
awk '{printf "WP = %-8s is running ICC\n",$5}' tmp2 >> CIOHOSTS
else
# 51
awk '{print $10}' tmp1 | tr / " " > tmp2
awk '{printf "WP = %-8s is running ICC\n",$5}' tmp2 >> CIOHOSTS
fi
else
# AP 20
RAWWP=`awk '{print $10}' tmp1 | tr / " "`
WP=`echo $RAWWP | awk '{print $3}' | sed 's/ciocfg//'`
fi
}
#
cd /opt/ac
rm CIOHOSTS HOSTS tmp1 > /dev/null 2>&1
touch CIOHOSTS HOSTS tmp1
echo "\n\n\n\n\n\n\n"
#
CPS=`sort /etc/cplns`
ME=`uname -n`
echo "Getting CP Hosts in the system ... :"
for x in $CPS
do
awk '$1=="'$x'" {print $2}' /usr/fox/sp/sldb >> tmp1
done
sort -u tmp1 > HOSTS
cat HOSTS
echo "\n"
#
ME=`uname -n`
#
# "Checking Hosts ... "
for x in `cat HOSTS`
do
echo "Checking $x ... \c"
TYPE=`awk ' $1=="'$x'" {print $2}' /usr/fox/sp/hldb`
echo "($TYPE) \c"
if [ $TYPE = "303" ] || [ $TYPE = "308" ] || [ $TYPE = "309" ] || [ $TYPE = "1001" ]
then
echo "(PW/20/51 type) ... "
if [ $x = $ME ]
then
ps -ef | grep -v grep | grep ciocfgtask > tmp1
if [ $? -eq 0 ]
then
get_wp
echo " on AP = $x" >> CIOHOSTS
fi
else
rexec $x /usr/bin/ps -ef | grep ciocfgtask > tmp1
if [ $? -eq 0 ]
then
get_wp
echo " on AP = $x" >> CIOHOSTS
echo "\n"
fi
fi
else
echo "(50 type) ......... "
if [ $x = $ME ]
then
ps -ax | grep -v grep | grep ciocfgtask > tmp1
if [ $? -eq 0 ]
then
get_wp
echo " on AP = $x" >> CIOHOSTS
fi
else
rexec $x /usr/bin/ps -ax | grep ciocfgtask > tmp1
if [ $? -eq 0 ]
then
get_wp
echo " on AP = $x" >> CIOHOSTS
fi
fi
fi
# echo "Done!"
done
echo "\n========================================="
echo "\nStations running Control Configurator: \n"
if [ -s CIOHOSTS ]
then
cat CIOHOSTS
else
echo "\nNone!"
fi
echo "\n========================================="
#
# Querying CP hosts for locked CPs:
#
for x in `cat HOSTS`
do
echo "\nLocked CPs for host $x:"
if [ $x = $ME ]
then
ls -l /usr/fox/sp/locks > tmp1
awk ' $0 ~ /\+$/ {print substr ($NF,2,length($NF)-2)}' tmp1 > tmp2
if [ -s tmp2 ]
then
cat tmp2
else
echo "None!"
fi
echo "-----------------------------------------"
else
rexec $x /usr/bin/ls -l /usr/fox/sp/locks > tmp1
awk ' $0 ~ /\+$/ {print substr ($NF,2,length($NF)-2)}' tmp1 > tmp2
if [ -s tmp2 ]
then
cat tmp2
else
echo "None!"
fi
echo "-----------------------------------------"
fi
done
rm tmp1 tmp2