集群文件同步脚本xsync

首先,需要集群要能够ssh免密登录,然后安装远程同步

yum -y install rsync

然后

 vim xsync

 替换自己集群机器hostname

 #!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in n101 n102 n103
do
  echo ====================  $host  ====================
  #3. 遍历所有目录,挨个发送
  for file in $@
  do
    #4 判断文件是否存在
    if [ -e $file ]
    then
      #5. 获取父目录
      pdir=$(cd -P $(dirname $file); pwd)
      #6. 获取当前文件的名称
      fname=$(basename $file)
      ssh $host "mkdir -p $pdir"
      rsync -av $pdir/$fname $host:$pdir
    else
      echo $file does not exists!
    fi
  done
done        

给脚本授权

chmod 777 xsync

 完成

用法是:

xsync ./文件

你可能感兴趣的:(linux,服务器,运维)