你可以帮我解决下面这个问题吗?
我必须向主机发送命令(该命令需要大量时间来执行并创建文件):
ssh uname1@host1 ssh uname2@host2 'command1'
执行此命令后,我需要压缩创建的文件
ssh uname1@host1 ssh uname2@host2 'gzip file1'
为另一台主机做同样的事情
ssh uname3@host3 ssh uname4@host4 'command1'
ssh uname1@host1 ssh uname2@host2 'gzip file2'
是否可以并行运行这两个命令以节省脚本执行的时间? 提前谢谢你。
答案 0 :(得分:4)
尝试类似
的内容ssh uname2@host2 'command1 && gzip file1' &
ssh uname2@host3 'command1 && gzip file1' &
ssh uname2@host4 'command1 && gzip file1' &
您可以将所有命令放在从
开始的主机上的文件中 此上下文中的 &&
与;
类似,但第二个命令仅在第一个命令有效时执行
答案 1 :(得分:2)
简单地说:
ssh uname1@host1 ssh uname2@host2 'command1; gzip file1'
如果只运行gzip,则第一个命令成功,然后:
ssh uname1@host1 ssh uname2@host2 'command1 && gzip file1'
第二个命令将在第一个命令之后启动。