找一个全局目录/root/bin 写脚本
touch xsync
chmod 777 xsync
#!/bin/bash#作者:ldj
#时间:2024-10-15
#描述:拷贝文件#1. 判断参数个数
if [ $# -lt 1 ]thenecho "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$hostssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone
done
1.从Window 直接拷贝到Linux可能会报错:/bin/bash^M: bad interpreter: No such file or directory
执行脚本前先 执行
sed -i 's/\r$//' xsync
2.还有一个注意配置域名解析 (重启生效)