使用nc工具
传输内网宽带拉满 先运行接收端 开始监听 使用 ansible 拷贝脚本到其它接收端服务器 批量运行接收端脚本 查看nc是否运行 运行发送端
传输内网宽带拉满
先运行接收端 开始监听
#! / bin/ bash
#Revision: 1.0
#Author: author
#Email: author@email. com
#Date: 2023 / 07 / 16
# 定义接收文件路径
received_file_path= "/root/100.txt"
local_port= "6789"
nohup nc - l - p "$local_port" > "$received_file_path" &
使用 ansible 拷贝脚本到其它接收端服务器
ansible host01 - m copy - a 'src= / root/ re. sh dest= / root'
批量运行接收端脚本
ansible host01 - m shell - a "bash /root/re.sh"
查看nc是否运行
# ps aux | grep nc
nc - l - p 6789
运行发送端
#! / bin/ bash
# 定义待传输文件路径
file_path= "/root/100.txt"
remote_port= "6789"
remote_hosts_file= "/root/hostlist.txt"
# 读取远程主机列表文件,保存到数组中
readarray - t remote_hosts < "$remote_hosts_file"
for host in "${remote_hosts[@]}" ; do
# 去除每行首尾的空格和换行符
host= "$(echo -e " ${ host} " | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
echo "host = $host , port = $remote_port"
# 向目标主机发送文件
cat "$file_path" | nc - w 10 "$host" "$remote_port" &
echo "host = $host 开始传输"
done
wait
echo "文件传输完成"
# cat hostlist. txt
192.168 .20
192.168 .21
192.168 .22
运行发送端脚本开始传输文件
bash se. sh