1、首先需要具备rsync脚本.
什么是rsync脚本和xsync脚本?
rsync本身是同步,主要对差异文件做更新。
xsync是对rsync的二次封装。借助rsync脚本实现循环复制文件到所有节点的相同目录下,省去了每次同步脚本时输入文件位置和不同目标用户的相同目录。
yum -y install rsync
2.其次编写xsync集群分发脚本
注意: 脚本最好放在全局环境变量的路径下。
#!/bin/bash
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
for host in 主机名 # 循环读取主机
do
echo ==================== $host ==================== # 得到主机名
for file in $@ #遍历所有目录,挨个发送
do
# 判断文件是否存在
if [ -e $file ]
then
# 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
# 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
#脚本来源:atguigu
保存脚本之后,设置脚本执行权限
chmod 777 xsync
如果使用了sudo+xsync则需要补全路径。