linux 命令批量执行脚本及文件分发脚本

一、 linux 命令批量执行脚本(多台服务器一并执行)

vi batchexec.sh
#!/bin/sh
#打开方式 命令

#输入命令
CMDNAME=$1
for i in node2 node3 node4
        do
                echo "----------$i----------"
                ssh $i "$CMDNAME"
        done

二、 分拣分发脚本

#安装 rsync
yum -y install rsync
vi xsync.sh
#!/bin/bash
#校验参数是否合法

#如果没有传递参数
if(($#==0))
then
          echo 请输入要同步的文件~
            exit;
fi

#节点数组
nodes=(node2 node3 node4)

#拼接要同步的文件的绝对路径
#获取父路径,加入-P是防止软链接文件绝对路径读取错误
dirpath=$(cd `dirname $1`; pwd -P)
filename=`basename $1`

echo dirpath是$dirpath
echo filename是$filename

echo 要同步的文件路径是: $dirpath/$filename

#循环执行rsync同步文件到集群的每台机器
#for i in node2 node3 node4
for i in "${nodes[@]}"
do
         echo ----------------$i------------------
         # -o StrictHostKeyChecking=no 第一次ssh也不用输入yes
         ssh -o StrictHostKeyChecking=no $i 'echo "ok"'
         rsync -av --rsync-path="sudo rsync" $dirpath/$filename $i:$dirpath
  done
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值