scp复制到多台服务器
时间: 2024-09-13 18:13:57 浏览: 39
Shell脚本实现复制文件到多台服务器的代码分享
scp(secure copy)是一个用于在本地主机和远程主机之间,或者在两台远程主机之间安全地复制文件的命令行工具。如果要复制文件到多台服务器,可以通过编写脚本来实现批量复制,也可以使用循环命令来一次操作多台服务器。
使用循环命令复制到多台服务器的示例命令如下:
```bash
for host in server1 server2 server3; do
scp localfile.txt username@$host:/path/on/host;
done
```
在这个例子中,`server1`、`server2` 和 `server3` 是目标服务器的主机名,`username` 是在这些服务器上的用户名,`/path/on/host` 是远程服务器上的目标路径,`localfile.txt` 是你想要复制的本地文件名。
如果要复制一个目录到多台服务器,可以结合使用 `scp` 命令和 `tar` 命令来打包目录,然后再复制:
```bash
for host in server1 server2 server3; do
tar -czf - /path/to/local/directory | ( ssh username@$host 'cd /path/on/host; tar -xzf -' )
done
```
这条命令会将本地的 `/path/to/local/directory` 目录压缩,并分步骤解压到每台远程服务器的指定路径。
阅读全文