Как выполнить команду на удаленном сервере, когда ssh-соединение закрывается? - PullRequest
0 голосов
/ 02 ноября 2019

Я использую ssh для поддержки постоянного туннеля до reliable.host от ненадежного за брандмауэром и получения уведомления о соединении.

ssh -R 1234:localhost:22 user@reliable.host ./on-connect.sh

on-connect.sh

#!/bin/bash

curl ... # Notify me of tunnel opened

sleep 1d

То, что я не могу понять, как это сделать, это получить curl ... уведомление о разъединении / разрыве соединения.

Я пробовал различные bash traps и sleep loop.

Обратите внимание, я не могу запустить уведомление curl ... на клиенте, который запускает ssh, потому что у него нет надежного соединения, и я ожидаю, что соединение будет разорвано, когдаssh обрывается соединение.

В худшем случае я могу выполнить постоянную проверку reliable.host, которая при закрытии туннеля отправляет уведомление. Я просто чувствую, что мы можем добиться большего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...