Files
libuev/.stuff/bin/upd-ssh-boxlists
T
2011-01-10 16:11:31 +01:00

66 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
HTTOOLS=$HOME/amplex/ampep/HtTools
runBS() {
BSSERVER=$1 $HTTOOLS/bsTest $HTTOOLS/bsh/$2.bsh
}
mkTemp() {
mktemp /tmp/.updssh-tmp.XXXXXXXXXX
}
getList() {
local F=`mkTemp`
runBS $1 listBoxes > $F
if grep --silent ANNOT: $F ;then
awk '/\t/' $F | sort
else
return 1
fi
rm $F
}
updFile() {
local Ip=`au-sshgw $1 hostip`
local F=`mkTemp`
[[ $1 == *-stg ]] && Ip=${Ip}:8000
echo -n "Updating list for $1 ($Ip) ... "
if getList $Ip > $2.tmp ;then
mv -f $2.tmp $2
echo 'DONE'
else
rm -f $2.tmp
echo 'FAILED'
fi
}
if [[ ! $1 ]] ;then
echo 'Usage: upd-ssh-boxlists {<Server-list>|UPDATE}' 1>&2
exit
fi
if [[ $1 == UPDATE ]] ;then
#sudo vpnc-disconnect
#sudo vpnc amp-ae
for i in `au-sshgw gwlist | grep ^ad-` ;do
File=/opt/toolchain/utils/sshgw/files/boxes-${i}.db
[[ -f $File ]] && updFile $i $File
done
#sudo vpnc-disconnect
#sudo vpnc amp-ain
for i in `au-sshgw gwlist | grep ^ain-` ;do
File=/opt/toolchain/utils/sshgw/files/boxes-${i}.db
[[ -f $File ]] && updFile $i $File
done
svn st /opt/toolchain/utils/sshgw/files
#sudo vpnc-disconnect
exit
fi
for i ;do
getList $i
done