远程传输一次文件到远程的两个不同目录

Remote transfer file once to two different directories on remote

使用 scprsync,是否可以将文件从本地复制到远程服务器上的两个或多个不同目录,但只发送一次文件?

更喜欢不要在 cp 文件之后手动 ssh,但我会接受这是最后的手段。

scp 是一个简单的工具。替代方案可以是 parallel-scp,但它可能会复制文件两次。

我唯一能想到的就是 "simplify" 通过将其合并为单个 ssh 命令来实现它:

cat local_file | ssh host "cat /remote/file; cp /remote/file /second/path/file"

不,您不能通过 scp 或 rsyc 执行此操作。您必须多次 运行 命令。你可以这样做

for HOST in server1 server2 server3; do scp somefile $HOST:~/somedir/ done

有高效的实用程序可以实现此目的,因此请安装类似 parallel, parallel-scp, pssh 等的东西

或者,如果这涉及大量远程位置,我会更喜欢使用 perl 来对进程进行多线程处理。