diff --git a/tunnelkeeper b/tunnelkeeper index 428169b..6a7e786 100755 --- a/tunnelkeeper +++ b/tunnelkeeper @@ -21,7 +21,7 @@ function ruroot () { fi } -DEBUGLEVEL=$(grep -i -m1 "debug" $TKCONF | grep -o [0-9]) +DEBUGLEVEL=$(awk '/^debug/ {print $2}' $TKCONF) case "$DEBUGLEVEL" in 2) dbgopt='-v';; 3) dbgopt='-vvv';; @@ -32,6 +32,11 @@ function dbg () { [[ $DEBUGLEVEL != "0" ]] && logger -t tunnelkeeper } +function connect () { + ssh -F "${SSHCONF}" $dbgopt -N $1 '#tunnelkeeper' 2>&1 | dbg +} + + case "$1" in FORKSTART ) echo -n $$ > "$BASEDIR/var/${2}.connected" @@ -48,7 +53,8 @@ case "$1" in done else # passwordless auth while [[ -e "$BASEDIR/var/${2}.connected" ]]; do - ssh -F "${SSHCONF}" $dbgopt -N $2 '#tunnelkeeper' 2>&1 | dbg + # ssh -F "${SSHCONF}" $dbgopt -N $2 '#tunnelkeeper' 2>&1 | dbg + connect $2 sleep 5 done fi @@ -56,10 +62,10 @@ case "$1" in FORKSCREEN ) while [[ -e "$BASEDIR/var/${2}.connected" ]]; do echo $$ > "$BASEDIR/var/${2}.screen" - ssh -F "${SSHCONF}" $dbgopt -N $2 '#tunnelkeeper' 2>&1 | dbg + # ssh -F "${SSHCONF}" $dbgopt -N $2 '#tunnelkeeper' 2>&1 | dbg + connect $2 done ;; - # FORKKILL ) kill $(sudo netstat -tnlp | grep "127[0-9\.]*:${2}" | grep -o '[0-9]*/ssh' | grep -o '[0-9]*') &>/dev/null ;; FORKDEL ) rm "$BASEDIR/var/${2}.connected" ;; FORKKILL ) pkill -f '#tunnelkeeper' &>/dev/null ;; start)