常用脚本记录

本文提供了一组bash脚本,用于在多台服务器(如test01,test02,test03)间分发文件、查看进程以及启动和停止Kafka和Zookeeper服务。脚本涉及权限设置、参数检查、SSH连接和rsync同步等功能。
摘要由CSDN通过智能技术生成

脚本赋权限

chmod +x 脚本文件

可以把脚本添加到 /bin目录下,重启环境变量,让其生效(root用户下)

source /etc/profile

假设有三台服务器,test01,test02,test03

集群分发脚本

集群分发脚本使用前提

#!/bin/bash

#1.判断参数个数
if [ $# -lt 1 ]
then 
    echo Not Enough Arguement!
    exit;
fi

#2.遍历集群所有机器
for    host in  test01 test02 test03
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
            else
                echo $file does not exists!
        fi
    done
done

查看集群进程

#!/bin/bash

for host in test01 test02 test03
do
        echo =============== $host ===============
        ssh $host jps 
done

启动kafka集群脚本

集群脚本前提

#!/bin/bash

case $1 in 
"start")
    for i in test01 test02 test03
    do
        echo "-- 启动 $i kafka ---"
        ssh $i "//opt/module/zookeeper-3.6.3/bin/zkServer.sh start  " 
        ssh $i "/opt/module/kafka_2.12-3.0.1/bin/kafka-server-start.sh  -daemon /opt/module/kafka_2.12-3.0.1/config/server.properties"
    done
;;
"stop")
    for i in test01 test02 test03
    do
        echo "-- 停止 $i kafka ---"
        ssh $i "/opt/module/kafka_2.12-3.0.1/bin/kafka-server-stop.sh "
        ssh $i "/opt/module/zookeeper-3.6.3/bin/zkServer.sh stop "
    done

;;
esac

仅供参考

待更新。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值