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

相关推荐
努力努力再努力wz13 小时前
【Linux进阶系列】:线程(下)
linux·运维·服务器·c语言·数据结构·c++·算法
LCG元13 小时前
Linux 防火墙双雄:iptables 与 firewalld 配置案例详解
linux
KV_T13 小时前
centos运维常用命令
linux·运维·centos
todoitbo13 小时前
使用n8n搭建服务器监控系统:从Webhook到Telegram告警的完整实现
运维·服务器·数据库·ai·向量数据库·流处理·n8n
dessler13 小时前
MYSQL-主键(Primary Key)
linux·运维·mysql
LCG元13 小时前
Nginx 配置入门到实战:从静态网站到负载均衡
linux
全栈小513 小时前
【C#】从一次异步锁逐渐展开浅谈服务器架构解决重复编码问题,我与AI的一次深度讨论得出的一些解决方案
服务器·架构·c#
安丘贾队长13 小时前
json啊啊啊啊啊啊啊啊啊
运维
weixin_5377658014 小时前
【负载均衡】LVS原理与配置
服务器·负载均衡·lvs
代码程序猿RIP14 小时前
【Linux面经】OSI七层模型和TCP/IP四层体系结构
linux·网络·面试·面经