欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux集群文件分发

程序员文章站 2024-02-26 16:02:10
...

Linux集群文件分发

预期目标

  1. 通过一个命令实现文件分发到其它集群

资源准备

  1. Linux机器(这里以三台为例)
  2. SSH免密登录
  3. 安装有rsync: yum install -y rsync

具体实现

  1. 在/bin目录下创建xsync脚本: vim /bin/xsync

  2. 添加如下内容

    # 判断参数个数
    if [ $# -lt 1 ] 
    then 
            echo Not Enough Arguement!
            exit;
    fi
    
    # 遍历集群所有机器
    for host in server2 server3
    do
            echo =============== $host =================
            # 遍历所有目录, 挨个发送
            for file in [email protected]
            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