Я думаю, что iostat является основным инструментом, который Вы хотите.
Вот более чистый способ сделать его, который был предложен прежде:
ssh -f -N -L 14880:internalserver:3306 gateway.example.com &
PIDSSH=$!
( sleep 600 ; echo "Timeout." ; kill $PIDSSH ) &
PIDSLEEP=$!
wait $PIDSSH
kill $PIDSLEEP && echo "Session ended before timeout"
wait
Однако Вы не получаете код ошибки от ssh, но это могло быть расположено.
Посмотрите на это:
ssh -f -L 14880:internalserver:3306 gateway.example.com sleep 3m
Это установит туннель и позволит Вам соединиться через 3 минуты. Если Вы соединитесь, то это будет доступно до него неактивный becames. Это не уничтожит рабочий процесс резервного копирования однако (я надеюсь, что это - то, что Вы хотите).
Другой способ сделать это установил бы значение неактивного тайм-аута на Вашей сессии. Это может быть сделано на сервере в sshd_config со значением "IdleTimeout", или пользователем в authorized_keys файле как "idle-timeout=6m... ключ...". Или часы. Или секунды. Разделите 8.2.7 в "SSSH oreilly Безопасный Shell" книга. После упомянутой суммы неактивности (никакой вход), будут уничтожены Ваши процессы. То, как чистый, который является, зависит от того, как хорошо они отвечают на, понукает :)