1.创建iplist文件,写入要接收文件的主机ip地址

2.创建user文件,保存目标主机的用户和密码

3.在本地创建一个名为1.txt的文件

4.编写自动分发脚本
yum -y install expect #安装expect实现自动交互
vim zidong.sh
#!/bin/bash
for i in $(cat iplist)
do
passwd=`cat user|tail -1`
/usr/bin/expect<<EOF
spawn scp 1.txt root@$i:/root
expect "(yes/no)?" {send "yes\n;exp_continue"}
expect "password:" {send "$passwd\n"}
expect eof
EOF
if [ $? -eq 0 ];
then
echo "$i 文件发送成功" >> /var/log/scp.txt
else
echo "$i 文件发送失败" >> /var/log/scp.txt
fi
done
5.执行脚本
sh zidong.sh

查看日志文件

我这里192.168.10.130可达 192.168.10.132不可达
本文介绍了一种使用expect和scp命令的自动化脚本,用于将本地文件批量分发到远程主机。通过创建包含目标主机IP和登录凭据的文件,脚本能够自动处理文件传输过程中的交互式输入,实现高效、批量的文件分发。
396





