This commit is contained in:
Gordon Grant-Stuart 2023-01-31 10:51:26 +00:00
parent 2cf1628716
commit c8ae664ac0

View File

@ -21,7 +21,7 @@ function ruroot () {
fi fi
} }
DEBUGLEVEL=$(awk '/^debug/ {print $2}' $TKCONF) DEBUGLEVEL=$(awk '/^debug/ {print $2}' $TKCONF &>/dev/null)
case "$DEBUGLEVEL" in case "$DEBUGLEVEL" in
2) dbgopt='-v';; 2) dbgopt='-v';;
3) dbgopt='-vvv';; 3) dbgopt='-vvv';;
@ -58,6 +58,7 @@ case "$1" in
sleep 5 sleep 5
done done
fi fi
exit
;; ;;
FORKSCREEN ) FORKSCREEN )
while [[ -e "$BASEDIR/var/${2}.connected" ]]; do while [[ -e "$BASEDIR/var/${2}.connected" ]]; do
@ -65,18 +66,21 @@ case "$1" in
# ssh -F "${SSHCONF}" $dbgopt -N $2 '#tunnelkeeper' 2>&1 | dbg # ssh -F "${SSHCONF}" $dbgopt -N $2 '#tunnelkeeper' 2>&1 | dbg
connect $2 connect $2
done done
exit
;; ;;
FORKDEL ) rm "$BASEDIR/var/${2}.connected" ;; # FORKDEL ) rm "$BASEDIR/var/${2}.connected"; exit ;;
FORKKILL ) pkill -f '#tunnelkeeper' &>/dev/null ;; # FORKKILL ) pkill -f '#tunnelkeeper' &>/dev/null; exit ;;
start) start)
[[ -e "$BASEDIR/var/tunnelkeeper.pid" ]] && exit [[ -e "$BASEDIR/var/tunnelkeeper.pid" ]] && exit
echo $$ > "$BASEDIR/var/tunnelkeeper.pid" echo $$ > "$BASEDIR/var/tunnelkeeper.pid"
cat "$SSHCONF" | awk '/^Host / {print $2}' | xargs -I% -P0 $0 FORKSTART % & cat "$SSHCONF" | awk '/^Host / {print $2}' | xargs -I% -P0 $0 FORKSTART % &
;; ;;
stop ) stop )
rm "$BASEDIR/var/tunnelkeeper.pid" rm -f "$BASEDIR/var/tunnelkeeper.pid"
cat "$SSHCONF" | awk '/^Host / {print $2}' | sed 's/^Host //' | xargs -I% -P0 $0 FORKDEL % rm -f "$BASEDIR/var/*.connected"
cat "$SSHCONF" | grep -o 'LocalForward [0-9]* ' | grep -o '[0-9]*' | xargs -I% -P0 $0 FORKKILL % pkill -f '#tunnelkeeper' &>/dev/null
# cat "$SSHCONF" | awk '/^Host / {print $2}' | sed 's/^Host //' | xargs -I% -P0 $0 FORKDEL %
# cat "$SSHCONF" | grep -o 'LocalForward [0-9]* ' | grep -o '[0-9]*' | xargs -I% -P0 $0 FORKKILL %
;; ;;
restart ) restart )
if systemctl status tunnelkeeper &>/dev/null; then if systemctl status tunnelkeeper &>/dev/null; then