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.还有一个注意配置域名解析 (重启生效)

相关推荐
阿明67 分钟前
Linux进程【Linux】
linux·运维·服务器
Android系统攻城狮20 分钟前
Linux Gstreamer深度解析之gst_audio_resampler_update调用流程与实战(三十)
linux·运维·服务器·gstreamer音视频·音视频进阶
qetfw30 分钟前
Linux tcpdump 抓包实战:网卡、主机、端口过滤与 PCAP 分析
linux·tcpdump
微信ipad协议开发37 分钟前
微信视频号自动化:内容发布与互动的 API 实现
运维·微信
pilifeng139 分钟前
Ubuntu Linux 目录结构详解
linux·ubuntu
电棍2331 小时前
ubuntu网卡失效
linux
律宏阔1 小时前
VMware 能识别 USB 设备,但无法连接(灰色)
linux
Rabitebla1 小时前
【Linux系统编程】指令(三):创建、删除、复制、移动、看内容
linux·数据结构·c++·算法
AR-26710-1 小时前
Linux Day9——复习第一部分(实操产出)
linux
一木 之林1 小时前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器