#!/bin/rc
#for each registry in /tmp/grid/registries:
#FIRST check if its alive
#IF its alive, harvest the info
#IF its dead, mark it for fixing
for (i in /tmp/grid/registries/*){
if (! ~ $i '/tmp/grid/registries/*' && ! ~ $i /tmp/grid/registries/tcp*){
REGSTATUS=0
REGNAME=`{echo $i |awk -F/ '{print $5}'}
touch /tmp/grid/work/regtest$REGNAME
ls /g/r/$REGNAME >>/tmp/grid/work/regtest$REGNAME &
sleep 6
REGSTATUS=`{cat /tmp/grid/work/regtest$REGNAME}
# echo regstatus is $REGSTATUS hopefully r
if (! ~ $REGSTATUS '/g/r/'$REGNAME'/r'){
echo `{date} registry $REGNAME nonresponsive, moved to mia
>>/tmp/grid/log/log
echo registry $REGNAME not responding, moved to mia
mv /tmp/grid/registries/$REGNAME /tmp/grid/miareg/$REGNAME
}
if (~ $REGSTATUS ??*){
REGCHECK = `{ls /g/r/$REGNAME/r}
# echo $REGCHECK hopefully something
if (~ $REGCHECK ?*){
cat /g/r/$REGNAME/r/index
>/tmp/grid/info/reg$REGNAME
cat /tmp/grid/info/reg$REGNAME
>>/tmp/grid/info/newregbucket
}
if (! ~ $REGCHECK ?*){
echo `{date} registry $REGNAME nonresponsive,
moved to mia >>/tmp/grid/log/log
echo registry $REGNAME not responding, moved to
mia
mv /tmp/grid/registries/$REGNAME
/tmp/grid/miareg/$REGNAME
}
}
}
}
if (test -e /tmp/grid/work/regtest*) rm /tmp/grid/work/regtest*
if (! test -e /tmp/grid/info/newregbucket){
echo registry update failed to find new information, please run regrepair
echo `{date} registry update failed, regrepair needed
>>/tmp/grid/log/log
exit
}
cat /tmp/grid/info/regbucket >>/tmp/grid/info/oldregbucket
mv /tmp/grid/info/newregbucket /tmp/grid/info/regbucket
echo `{date} regupdate completed >>/tmp/grid/log/log