logo
tt's Note
  • 运维
    • 数据库
    • linux
    • vpn
    • 日志
    • 中间件
    • 服务
    • 监控
    • shell
    • windows
    • 语言
    • 云服务
    • 其他
  • 开发
    • 工具
  • 软件
    • 浏览器
    • 多端
    • win
    • mac
    • 网站
  • 项目
    • 效率工具
    • 兴趣
  • 脚本
    • jenkins
    shell概览
    rsync
    shell学习
    初始化相关
    快速脚本合集
    shell输出表格
    上一页快速脚本合集

    #shell输出表格

    #!/bin/bash
    
    
    echo "id,ip,account,hostname,vpc,备注,是否能连接" > "mysql_connect_status.csv"
    
    line_num=0
    for instance in $(cat server.csv|egrep -v "^#");do
        line_num=$((line_num + 1 ))
        if [ ${line_num} -ne 1 ];then
            vpc=$(echo "${instance}" |awk -F ',' '{print $5}')
            hostname=$(echo "${instance}" |awk -F ',' '{print $4}')
            id=$(echo "${instance}" |awk -F ',' '{print $1}')
            src_host=$(echo "${instance}" |awk -F ',' '{print $2}'|awk -F ':' '{print $1}')
            src_port=$(echo "${instance}" |awk -F ',' '{print $2}'|awk -F ':' '{print $2}')
            src_user=$(echo "${instance}" |awk -F ',' '{print $3}'|awk -F '/' '{print $1}')
            src_password=$(echo "${instance}" |awk -F ',' '{print $3}'|awk -F '/' '{print $2}')
            note=$(echo "${instance}" |awk -F ',' '{print $6}')
    
            ip=$(echo "${instance}" |awk -F ',' '{print $2}')
            account=$(echo "${instance}" |awk -F ',' '{print $3}')
    
    
            # 测试MySQL连接
            docker run -i --name=test_mysql_connect --net host --rm mysql:5.6 \
            mysql -h $src_host -P $src_port -u $src_user -p$src_password -e "SELECT '${id} test connect';"
    
    
            # 检查连接是否成功
            if [ $? -eq 0 ]; then
                db_status="连接成功"
            else
                db_status="连接失败"
            fi
    
    
            echo "${id},${ip},${account},${hostname},${vpc},${note},${db_status}" >> "mysql_connect_status.csv"
        fi
    done