【发布时间】:2013-07-04 19:02:03
【问题描述】:
好的,所以我有一个 shell 脚本,用于使用 rsync 而非 ssh 将一些文件传输到远程主机。
但是,除了传输之外,我还需要在事前和事后做一些内务处理,这涉及到一个额外的ssh 命令,以及对scp 的调用以传输一些未包含在@987654325 中的额外数据@transfer(我在传输过程中生成此数据)。
正如您可以想象的那样,目前这会导致很多ssh 会话开始和停止,尤其是因为内务操作实际上非常快(通常)。我已经在主机上验证了这显示为大量 SSH 连接和断开连接,虽然与实际传输相比很小,但似乎相当浪费。
所以我想知道的是;有没有办法让我打开一个ssh 连接,然后让它保持连接,直到我完成它?即 - 我最初的ssh 管家操作将保持其连接打开,以便当rsync(以及之后的scp)运行时,它可以使用之前打开的连接来做它的事情。
这样的事情在 shell 脚本中是可能的吗?如果是这样,任何有关如何处理错误的指针(即确保在不需要时关闭连接)也将不胜感激!
【问题讨论】: