c0m*_*ade 5 linux scripting ssh
是否可以在一台服务器上运行 ksh/sh 脚本的一部分,然后 ssh 到另一台服务器并继续执行脚本的其余部分?或者有解决方法吗?
我有一个用户,每次访问服务器时我都不必验证该用户,因此我可以从一台服务器跳到另一台服务器,而无需任何键盘交互。
我已经尝试过这个,尝试将一些逻辑分离到另一个脚本中:
MYSCRIPT="nohup ksh myscript.ksh > mylog.log &"
ssh servername ${MYSCRIPT}
Run Code Online (Sandbox Code Playgroud)
我试过这个,但它似乎没有在另一台服务器上执行这个脚本。
上面的整个代码是for循环的一部分;我为服务器列表执行相同的脚本。
出于测试目的,该列表有两个服务器;由于一些奇怪和扭曲的原因,只有最后一个(或第二个)服务器脚本按我的预期工作。
所有服务器都可以看到 myscript.ksh —— 它对所有服务器都是可见和可执行的。
听起来您想在另一台服务器上运行一系列命令,而不必多次登录。为了实现这一点,你可以这样做:
local_command sequence
ssh remote-server << End-Of-File
remote_command 1
remote_command 2
remote_command 3
End-Of-File
Run Code Online (Sandbox Code Playgroud)
这将运行remote_command 1,完成后,运行remote_command 2,然后remote_command 3全部在远程服务器上