gpt4 book ai didi

linux - 我想在脚本中打开一个ssh session ,然后在本地执行其他命令,然后向已经打开的ssh session 发送命令

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:01 24 4
gpt4 key购买 nike

我想在脚本中打开一个ssh session ,然后在本地执行其他命令,然后向已经打开的ssh session 发送一个命令。

具体来说,我想在 Linux 中运行一个 shell 脚本,它首先在后台打开一个 ssh session ,然后继续并将数据库置于只读模式,然后在打开的 ssh session 中运行一个命令,然后将数据库恢复为写入状态模式。当我这样做时每一秒都很重要,实际上打开 ssh session 需要大约 80% 的时间,所以这就是为什么我不想打开 ssh session 并在数据库处于只读状态时向它发送命令模式。

我无权访问 expect

最佳答案

我认为连接多路复用是您的答案。

它的工作方式是,如果您有到同一台服务器的现有 ssh 连接,例如在同一台机器上的另一个窗口中,或当前登录 shell 中的后台 session ,随后到同一服务器的 ssh 连接可以重用第一个,显着加快启动时间,就像你想要达到的那样。

将此添加到您的 ~/.ssh/config 以在连接到您的服务器时启用它:

Host yourserver
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p

我到处都使用它,所以我使用 * 而不是 yourserver

试试这个:ssh 在一个窗口中连接到服务器,登录后,在另一个窗口中连接到同一服务器。第二个连接必须更快,因为它不需要验证和建立连接,因为它将重用已经存在的连接。

关于linux - 我想在脚本中打开一个ssh session ,然后在本地执行其他命令,然后向已经打开的ssh session 发送命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19442552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com