Shell脚本:分发文件到各个集群节点

找一个全局目录/root/bin 写脚本

javascript 复制代码
touch xsync
chmod 777 xsync
javascript 复制代码
#!/bin/bash

#作者:ldj
#时间:2024-10-15
#描述:拷贝文件

#1. 判断参数个数
if [ $# -lt 1 ]
    then
       echo "Error: Not Enough Argument!"
       exit
fi

#2.遍历集群所有机器
space=">>>>>>>  "
slash="/"
host_arr=(hadoop10 hadoop11 hadoop12)

for host in ${host_arr[@]}
do	
	#3.获取参数列表(文件)
	for file in $@
	do
	    #4.文件是否存在
	    if [ -e $file ]
		    then
		        #5.当前文件父se目录
		        pdir=$(cd -P $(dirname $file); pwd)
			    #6.当前文件名称
			    fname=$(basename $file)
			    echo $pdir$slash$fname$space$host
				
			    ssh $host "mkdir -p $pdir"
		        rsync -av $pdir/$fname $host:$pdir
		    else
		        echo $file does not exists!
	    fi
	done
done

1.从Window 直接拷贝到Linux可能会报错:/bin/bash^M: bad interpreter: No such file or directory

执行脚本前先 执行

javascript 复制代码
sed -i 's/\r$//' xsync

2.还有一个注意配置域名解析 (重启生效)

相关推荐
无名之逆16 分钟前
[特殊字符] 超轻高性能的 Rust HTTP 服务器 —— Hyperlane [特殊字符][特殊字符]
java·服务器·开发语言·前端·网络·http·rust
是覆盖对于变化21 分钟前
ubuntu22.04 进入不了系统设置
linux·ubuntu
应以大橘为重28 分钟前
interrupt子系统中的数据结构
linux·数据结构·驱动开发
穷儒公羊28 分钟前
第一部分——Docker篇 第三章 构建自定义镜像
java·运维·后端·学习·docker·云原生·容器
淋一遍下雨天38 分钟前
第七章总结:集合
运维·服务器·windows
kfepiza1 小时前
硬盘分区格式方案之 MBR(Master Boot Record)主引导记录详解 笔记250407
linux·windows·笔记
mzak1 小时前
已经安装了pip,出现pip command not found【解决方法】
linux·pip·python3
稳联技术1 小时前
玻璃厂退火炉“温度智囊”:Profinet转ModbusRTU网关
运维·服务器·网络
南风与鱼1 小时前
Linux 线程池
linux·线程池
HX科技1 小时前
Debian系统_主板作为路由器_测试局域网设备间网速
运维·debian