Linux 分发文件的脚本 (xsync 需要ssh无密)

Linux 分发文件的脚本


#!/bin/bash

#1. 判断参数个数
if [ $# -lt 1 ]
  then
    echo Not Enough Arguement!
    exit;
fi
#2. 遍历所有机器 (只有这里机器名要改 要分发多少机器写多少机器名 没写机器名与ip映射的 写ip)
for host in 机器名1 机器名2 机器名3
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

		echo ============success================
	    else
		echo $file dose not exists!
	fi
    done
done
posted @ 2021-05-08 10:54  —清风碎心—  阅读(90)  评论(0编辑  收藏  举报