我的网络中有 60 多个 ubuntu 系统。我想将文件从一个系统复制到其他 ubuntu 系统。所有 IP 地址都列在一个文本文件中。
那么我可以使用什么命令来完成任务?有 Bash 程序吗?
答案1
假设您的 IP 地址放在名为 ips.txt 的文件中,每个 IP 占一行。创建一个名为 *scp_all.sh* 的文件,并将以下文本复制到其中:
#!/bin/bash
while read LINE ; do
scp $1 root@$LINE:$1
done < ips.txt
然后按如下方式执行:
./scp_all.sh /home/yaroo/Desktop/1.jpg
这是一个非常简单的脚本,它假设你在所有计算机上的用户名都是 root,它不存储密码,你每次都必须输入密码,并且它没有任何异常处理程序。如果你想更改目标地址,请更改第二个1 美元在 scp 命令中使用 $2 并按如下方式使用脚本:
./scp_all.sh /home/yaroo/Desktop/1.jpg /home/yaroo/Downloads/just_copied.jpg
我说过你必须为每台电脑输入密码,但如果你决定定期使用此脚本,你可以通过下面描述的简单的 6 步解决方案来解决这个问题这里。 祝你好运 ;-)