【发布时间】:2016-10-24 09:22:07
【问题描述】:
使用scp 或rsync,是否可以将文件从本地复制到远程服务器上的两个或多个不同目录但只发送一次文件?
我宁愿不要在文件和cp 之后手动 ssh,但我会接受这是最后的手段。
【问题讨论】:
使用scp 或rsync,是否可以将文件从本地复制到远程服务器上的两个或多个不同目录但只发送一次文件?
我宁愿不要在文件和cp 之后手动 ssh,但我会接受这是最后的手段。
【问题讨论】:
不,您不能通过 scp 或通过 rsyc 执行此操作。您必须多次运行该命令。你可以做类似的事情
for HOST in server1 server2 server3; do
scp somefile $HOST:~/somedir/
done
有高效的实用程序可以实现这一点,因此请安装 parallel, parallel-scp, pssh 等类似的东西
或者如果这涉及到大量的远程位置,我会更喜欢使用 perl 来对进程进行多线程处理。
【讨论】:
scp 是一个简单的工具。替代方案可能是parallel-scp,但它可能会复制文件两次。
我唯一能想到的就是通过将其合并到单个 ssh 命令中来“简化”它:
cat local_file | ssh host "cat /remote/file; cp /remote/file /second/path/file"
【讨论】: