Shell实战之实现远程拷贝文件夹到多台主机

实现代码

#!/bin/bash
path=$1

#验证路径是否存在
if [ ! -e $path ];then
    echo "目录 $path 不存在,无法拷贝"
    exit 0
fi

#提取父目录
par=`dirname $path`
#提取当前主机名
me=`hostname`
#提取集群中除了当前主机名的其他所有主机名
hosts=`sed -n '3,$p' /etc/hosts |awk '{print $2}'|sed -n '2,$p'`
for host in $hosts;do
#    yn=`ssh root@$host "[ -e $par ] && echo yes || echo no"`
    scp -r $path root@$host:$par
    echo "----------拷贝 $path到 $host 成功-----------"
done

实现步骤

先判断目录是否存在,然后用指令dirname提取路径的上一级目录,接着提取免密的主机名,

最后遍历主机名,进行远程传输。

测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值