xsync命令是自己编写文件同步命令shell脚本,其中调用的是rsync命令
1、rsync的安装
每台机器都需要运行下面的命令:
安装:
yum install rsync;
启动服务以及开机自启动:
systemctl start rsyncd.service
systemctl enable rsyncd.service
2、编写xsync脚本
2.1、首先执行:
echo $PATH
我这里直接使用的是root用户所以在/root/bin下的脚本可以在任意位置执行,所以编写的xsync脚本就创建在这个目录下面:
2.2、创建xsync文件
然后将下面的代码复制进刚刚创建的xsync文件,然后根据自己的节点进行修改:
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname="$p1"
echo fname=$fname
#3 获取上级目录到绝对路径
#pdir=$(dirname $(pwd))
pdir=`cd -P $(dirname $p1); pwd`
#pdir=$(pwd)
#pdir=$(cd -P $dirname p1; pwd)
#pdir= $(pwd)
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环,这里host根据自己的节点数和主机名设置
for i in slave1 slave2; do
echo $pdir/$fname $user@$i:$pdir
echo --------------- $i ----------------
rsync -rvl $pdir/$fname $user@$i:$pdir
done
2.3、加上执行权限:
chmod 777 xsync
2.4、测试:
在任意文件夹下,运行同步脚本文件xsync: