shell集群同步脚本②

注意:脚本放在~/bin目录下,并设置权限为777

① 集群列表脚本:需要同步的节点。
vim node.list

node01
node02
node03

② 集群文件分发脚本:用于分发集群文件。
vim ssh_do_scp.sh

#!/bin/bash

if [ $# -lt 3 ];
then
  echo "Usage: $0 <node-list-file> <source-file> <target-file>"
  exit
fi

nodeList=$1
files=$2
target=$3
noscp=node01


for node in $(cat $nodeList)
do
  if [ $node == $noscp ]; then
     echo ====================  $node  ====================
     echo "skip node01"
  else
     echo ====================  $node  ====================
     #判断是文件还是目录
     if [ -f $files ];then
         #传送单个文件
         echo "param is file"
         scp $files root@$node:$target
     elif [ -d $files ];then
         #遍历所有目录,挨个发送
         echo "param is dir"
         scp -r $files root@$node:$target
     else
         echo "file or dir is not exist"
     fi
  fi
done

③ 集群同步命令脚本: 用于集群内各节点执行相同命令
vim ssh_do_all.sh

#! /bin/bash
nodeList=$1
commond=$2
if [ $# -lt 2 ];
then 
  echo "Usage: $0 <node-list-file> <commond>"
  exit
fi

for node in $(cat $nodeList)
do
 echo ====================  $node  ====================
 ssh -t $node $commond
done

④ 测试
测试文件分发脚本
在这里插入图片描述

测试同步命令脚本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值