我计划通过 SSH 连接到远程 Linux 主机并使用 Windows PowerShell SSH 调用脚本。
据我了解,如果脚本在远程 Linux 节点上运行时 SSH 连接丢失(超时或连接重置),则脚本将终止。
到目前为止我已经实现了以下序列:
- 通过 SSH 发起与主机的连接
- 连接后,运行脚本
- 脚本回复一个唯一的锁定文件位置,即
/var/tmp/job001.lock
- PowerShell 脚本轮询文件是否存在
- 脚本完成后,锁定文件将被删除
- 当 PowerShell 脚本无法检测到锁定文件时,它会继续
出现以下情况即视为失败:
- 如果多次尝试后仍无法重新连接,则操作失败。
- 如果远程主机上的脚本运行时间过长,那么我们将中止该操作。
这是我的第一个 PowerShell 脚本,以前是否做过类似的事情?
如果不是,上述内容是否合理,还有其他建议吗(使用屏幕是否更合理)?