openwrt-packages/net/sshtunnel/files/sshtunnel.sh

22 lines
530 B
Bash

#!/bin/sh
PIDFILE="/tmp/run/sshtunnel"
args="$1"
retrydelay="$2"
server="$3"
while true
do
logger -p daemon.info -t "sshtunnel[$$][$server]" "connection started"
start-stop-daemon -S -p "${PIDFILE}_${$}.pid" -mx ssh -- $args &>/tmp/log/sshtunnel_$$
logger -p daemon.err -t "sshtunnel[$$][$server]" < /tmp/log/sshtunnel_$$
rm /tmp/log/sshtunnel_$$
logger -p daemon.info -t "sshtunnel[$$][$server]" "ssh exited with code $?, retrying in $retrydelay seconds"
rm "${PIDFILE}_${$}.pid"
sleep "$retrydelay" & wait
done