0

我有多个 ssh 命令来为我完成一些任务。例如:

ssh a-vm "rm -f /home/dir/file1.xlsx"
ssh a-vm "rm -f /home/dir/file2.xml"

scp me@b-vm:/somedir/file1.xlsx .
scp me@b-vm:/somedir/file2.xml .

1) 有没有办法将 2 个 ssh 命令组合成 1 个,将两个 scp 命令组合成 1 个?2) 如果我多次执行 ssh 和 scp 而不是 1 次,是否会产生费用?

任何帮助表示赞赏。

4

1 回答 1

1

你可以这样做:

ssh a-vm "rm -f /home/dir/file1.xlsx ; rm -f /home/dir/file2.xml"
scp "me@b-vm:/somedir/{file1.xlsx,file2.xml}" .

每个 ssh/scp 调用都会花费您连接时间和一些 cpu 时间(如果您同时对数百台机器执行此操作可能会很重要,否则不太可能)。

或者,您可以为 ssh 使用持久的主连接并通过它隧道其他人。这将节省一些网络往返 - 请参阅http://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing

于 2013-10-08T16:47:02.950 回答