scp 单个文件到多个位置

And*_*rew 32 linux file-transfer scp

您可以scp在同一个命令中将文件发送到多个位置吗?

例如:

scp file.txt user@ip-1.com:, user@ip2.com:
Run Code Online (Sandbox Code Playgroud)

或者创建一个已经包含所有主机的 bash 脚本是否更实用,它只需要一个文件作为参数?

Kus*_*nda 27

假设您有一个destfile.txt带有user@host-values的文件 ( ),每行一个。那么你可以这样做:

while IFS= read -r dest; do
  scp ourfile.txt "$dest:remote/path/"
done <destfile.txt
Run Code Online (Sandbox Code Playgroud)

  • @Andrew,如果您将 `for` 循环更改为 `while read dest; do`,它将从标准输入读取。把它放在一个脚本中,并将`destfile.txt` 输入其中(例如,`./thescript.sh &lt;destfile.txt`)。 (2认同)

Ano*_*ker 7

看起来像是并行 scp (n) (t) 的作业- 这实现了一组命令,允许 scp 命令一次在多个系统上运行。它将允许将文件并行复制到一组机器。