zoukankan      html  css  js  c++  java
  • 根据ip列表模拟输出redis cluster的主从对应关系

    需求:给点一批ip列表,一个数组或者一个文件,每行一个ip,模拟输出redis cluster的组从关系,前者是master_ip:master_port -> slave_ip:slave_port

    为后续自动生成主从的配对关系做准备。

    数组方式实现:

    ip_list=(1.1.1.1 2.2.2.2 3.3.3.3 4.4.4.4 5.5.5.5)
    port=7001
    len=${#ip_list[@]}
    
    for ((i=0;i<=$len-1;i++))
    do
    	if [[ $i -eq $len-1 ]];then
    		echo "${ip_list[$i]}:$port -> ${ip_list[0]}:$port"
    	else
    		echo "${ip_list[$i]}:$port -> ${ip_list[$i+1]}:$port"
    		let port=port+1
    	fi
    done
    

    文件方式实现:

    cat >b<<EOF
    1.1.1.1
    2.2.2.2
    3.3.3.3
    4.4.4.4
    5.5.5.5
    EOF

    port=7001
    i=1
    count_rows=$(wc -l b| awk '{print $1}')
    last_row=$(cat b | sed -n "$"p)
    
    for ((j=1;j<=$count_rows;j++))
    do
    	up_row=$(cat b | sed -n "$i"p)
    	if [[ "$up_row" = "$last_row" ]];then
    		up_row=$(cat b | sed -n "$"p)
    		next_row=$(cat b | sed -n "1"p)
    		echo "$up_row:$port -> $next_row:$port"
    	else
    		up_row=$(cat b | sed -n "$i"p)
    		let i=i+1
    		next_row=$(cat b | sed -n "$i"p)
    		echo "$up_row:$port -> $next_row:$port"
    		let port=port+1
    	fi
    done
    

    输出结果:

    1.1.1.1:7001 -> 2.2.2.2:7001
    2.2.2.2:7002 -> 3.3.3.3:7002
    3.3.3.3:7003 -> 4.4.4.4:7003
    4.4.4.4:7004 -> 5.5.5.5:7004
    5.5.5.5:7005 -> 1.1.1.1:7005
    

      

  • 相关阅读:
    Mysql 安装
    网站搭建 so easy
    git 命令!!!!!!!!!!!
    git branch 管理常用命令
    Java开发环境的搭建以及使用eclipse从头一步步创建java项目
    git 放弃本地修改 强制更新
    java算法之猴子排序睡眠排序
    sql业务需求,查询每个分类下的前两n条数据
    mysql安装
    linux服务自启
  • 原文地址:https://www.cnblogs.com/imdba/p/10827134.html
Copyright © 2011-2022 走看看