#!/bin/bash

try_ssh_forward() {

echo $0 started at `date`
GREPRC=0
while [ $GREPRC -eq 0 ]; do
groovix-support-tunnel-ssh  &
echo waiting 30 seconds to complete login and see if port forwarding fails...
sleep 30
GREPPORT=`grep "remote port forwarding failed" /var/log/groovix/support-tunnel.log.last`
GREPRC=$?

cat /var/log/groovix/support-tunnel.log.last >> /var/log/groovix/support-tunnel.log
LASTPORT=`echo $GREPPORT | perl -pi -e 's/^.*port\s+(\d+).*$/$1/'`
SSHCOMMAND=`ps -eo pid,args | grep "ssh -T -R $LASTPORT"|grep -v grep` 
SSHPID=`echo $SSHCOMMAND | cut -f 1 -d" "`
if [ $GREPRC -eq 0 ] ; then
	echo $LASTPORT is unavailable
	echo KILLING $SSHCOMMAND
	kill -9 $SSHPID
else
	echo RUNNING OK: $SSHCOMMAND
fi
done

}



try_ssh_forward 2>&1 | tee -a /var/log/groovix/support-tunnel.log
