Я планирую подключиться к удаленным хостам Linux через SSH и вызывать сценарии с помощью Windows PowerShell SSH.
Насколько я понимаю, если соединение SSH потеряно (тайм-аут или сброс соединения) во время выполнения сценария на удаленном узле Linux, сценарий будет прерван.
До сих пор я реализовал следующую последовательность:
- Инициируйте соединение с хостом через SSH
- После подключения запустите скрипт
- Скрипт отвечает с уникальным расположением файла блокировки, т.е.
/var/tmp/job001.lock
- Скрипт PowerShell опрашивает на наличие файла
- Когда скрипт завершится, файл блокировки будет удален
- Когда сценарий PowerShell не может обнаружить файл блокировки, он продолжает
Отказ считается, когда:
- Если не удается восстановить соединение после нескольких попыток, операция не выполняется.
- Если выполнение сценария на удаленном хосте занимает слишком много времени, мы прекращаем операцию.
Это мой первый скрипт PowerShell, так было ли что-нибудь подобное сделано раньше?
Если нет, то кажется ли вышеупомянутое разумным и какие-либо другие рекомендации (будет ли использование экрана более разумным)?